<%
' For help setting your database connection, please go to the following URL
' http://www.ecommercetemplates.com/help/ecommplus/faq.asp#faq8
' IMPORTANT ! ! After setting your database connection you MUST MAKE SURE THE DATABASE CANNOT BE DOWNLOADED
' Failure to do this will mean someone could get hold of your site admin username and password.
' More details about this are available here http://www.ecommercetemplates.com/help/checklist.asp#asp
sDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\kunden\homepages\23\d215141583\fpdb\vsproducts.mdb;" ' Microsoft Access 2000 using mapped path
'sDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\wwwroot\fpdb\vsproducts.mdb;" ' Microsoft Access 2000
' Please note, for SQL Server you must have an SQL Server database available. Most people will want to use the Access database provided.
'sDSN = "driver={SQL Server};server=SERVERNAME;uid=USERNAME;pwd=PASSWORD;database=DATABASENAME" ' SQL Server
%>
<% ' Please make sure this line is the first line in this file.
xxCarCha="Please note that your cart contents may have changed since being added."
xxLimSto="Limited Stock"
xxJusBuy="The out of stock items may have just recently been purchased."
xxStkUTo="To accept the available stock levels, please "
xxDigits="Please enter only digits in this field."
xxEntMul="Please enter a quantity for at least one option."
xxConfig="Configure"
xxSelOpt="To select options for this product please"
xxRevCar="Review Cart"
xxInsMul="There is not enough stock to fulfill one or more of the items you have ordered. The available items have been added to your cart."
xxEnlrge="Enlarge"
xxOf="of"
xxRvNone="No Reviews For This Product."
xxRvPlsS="Please select a rating for this product"
xxRvComm="Comments"
xxRvHead="Heading"
xxRvRati="Rating"
xxRvPosb="Posted By"
xxRvAvRa="Average rating"
xxRvPrRe="Product Reviews"
xxClkRev="Click to review this product"
xxRvAreR="You are reviewing the product"
xxRvRevP="Reviews for the product"
xxRvBack="Back to product"
xxShoAll="Show All"
xxRvOld="Oldest"
xxRvRece="Most Recent"
xxRvWors="Worst Rated"
xxRvBest="Best Rated"
xxRvThks="Thank you for your comments. These will appear in a day or two after they have been reviewed."
xxRvRet="You will now be returned to the product page you were viewing. If this does not happen please"
xxRvLim="I'm sorry but you have reached your daily posting limit."
xxYouAcc="Your Account"
xxSeaAll="Search All"
xxWaiCon="Awaiting Confirmation"
xxSucUns="Your email address has been successfully removed from our database."
xxSpmWrn="A confirmation email has been sent and before we can activate your subscription you must click on the link contained in that email. You may find this email has been diverted to your SPAM folder so please check there also."
xxThkSub="Thank you for subscribing to our mailing list"
xxEmNtFn="I'm sorry, your email address could not be found."
xxAllSub="You have already successfully activated your subscription."
xxSubAct="Your subscription has been successfully activated."
xxSubNAc="Your subscription could not be activated. Please contact the store admin."
xxMLConf="Mailing List Confirmation"
xxConfEm="Thank you for subscribing to our mailing list. To confirm your subscription please click on the link below. If the link is not clickable then just copy and paste it into your web browser address bar."
xxDeAdd="Delete Address"
xxPlWtFw="Please wait while we forward you to view your cart contents."
xxCrNwAc="Create Account"
xxExNoMa="Existing password does not match"
xxOldPwd="Old Password"
xxNewPwd="New Password"
xxRptPwd="Repeat New Password"
xxPwdChg="Enter your old password and new password below only if you wish to change your password."
xxPwdMat="Password fields do not match"
xxCancel="Cancel"
xxReset="Reset"
xxAccDet="Account Details"
xxChaAcc="To change account details or password please"
xxNevDiv="(We will never divulge your email to a 3rd party)"
xxAlPrEm="Allow Promotional Emails"
xxAltCar="Or select an alternate shipping carrier to compare rates."
xxCpnNoF="Coupon Not Found!"
xxAppCpn="Apply Coupon"
xxMusLog="You must be logged in to access your customer account."
xxCusAcc="Customer Account"
xxLogout="Logout"
xxEntEm="Please enter the email address associated with this account and click ""Submit""."
xxSenPw="Your login details have been sent as requested to your email address."
xxSorPw="Sorry. We could not find that email address in our system."
xxLosPw1="We received a request to resend your password for your account at "
xxLosPw2="Your details are as follows."
xxLosPw3="If you received this email in error you need take no action."
xxForPas="Forgot Password?"
xxNoOrd="No matching orders."
xxNoAdd="No registered addresses."
xxDelAdd="Are you sure you want to delete this address?"
xxMisc="Miscellaneous"
xxShpAdd="Shipping Address"
xxBilAdd="Billing Address"
xxSamAs="Same as billing address"
xxEmExi="The email address you entered already exists."
xxBfChk="Before proceeding with checkout, you must"
xxOrdMan="Order Management"
xxAddMan="Address Management"
xxPCAdd="To add a new address, please"
xxUpdSuc="Update Successful!"
xxEdAdd="Edit Address"
xxNoLogD="Could not find login details."
xxNewAcc="New Account"
xxRemLog="Remember login on this computer?"
xxCrAc="create an account"
xxToCrAc="to create an account"
xxOr="or"
xxNotLI="You are not currently logged in."
xxTLIP="To log in please"
xxTLOP="To logout please"
xxLiDets="Login Details"
xxYes="Yes"
xxNo="No"
xxGooCo="Use the new, secure Google Checkout service."
xxPrint="Printable Version"
xxTrackT="%s"
xxTraNum="Tracking Number"
xxAddToC="Add to cart"
xxOpSkTx=" (%s)"
xxShipHa="Shipping and Handling"
xxPlsSta="Please select your ship state"
xxPlsZip="Please enter your zip code"
xxInStoc="In Stock"
xxInsuff="Insufficient Stock Warning"
xxOnlyAd="Only %s of the item you requested are available in stock and these have been added to your cart."
xxWanRem="If you wish to remove this item from your cart please click below."
xxGo="Go"
xxPPPend="Thank you for your order!
Your order has been approved by PayPal with a status of "Pending". We will be in touch as soon as the funds have cleared."
xxInsDe2="Inside Delivery"
xxInsDel="Please click here if your freight shipment requires an inside delivery"
xxSigRe2="Signature Release"
xxSigRel="Have Signature Release Authorization Number. (Please enter Authorization Number Below in Additional Info.)"
xxCerCLo="Customer certifies shipping is to a commercial location."
xxShiInI="Shipping insurance included."
xxSatDeR="Saturday delivery required."
xxSatDe2="Saturday Delivery"
xxSatDel="Please check this box to have your products delivered on a Saturday."
xxPPPBlu="Or Checkout with PayPal Express Save time and use your PayPal account information to checkout with PayPal."
xxShpEst="Shipping Estimate"
xxMCShpE="Shipping Est"
xxShpIns="Shipping Insurance"
xxAddress2="Address Line 2"
xxNoCnf="Sorry, we have not yet received payment confirmation. Please wait 5 minutes then refresh this browser window."
xxCOTxt="Checkout"
xxDlPros="Download Products"
xxDlPro="Download Product"
xxDownl="Download"
xxGuar="Delivery"
xxMainWn="See main window"
xxWrnChQ="If you change quantities then you have to have to click the ""Update Totals"" link for them to take effect. Please press ""OK"" to update totals or ""Cancel"" to continue without updating."
xxDays="days"
xxDay="day"
xxCCName="Name (as it appears on card)"
xxNoJS="Javascript seems to be currently disabled in your browser."
xxNoCk="Cookies seem to be currently disabled in your browser."
xxSecWar="This could mean that this shopping site will not function correctly. If you experience problems, please check that your browsers security settings are not set to too high a level and that you don't have a firewall blocking cookies or javascript."
xxCommis="Commission"
xxCCDets="Credit Card Details"
xxOptOOS="I'm sorry, that particular option is currently out of stock"
xxHST="HST"
xxPrOpts="Options"
xxValEm="Please enter a valid email address."
xxLIDis="Discounts applicable to login: "
xxMLLIS="Login Status"
xxMLLIA="Logged in as "
xxMLNLI="Not logged in"
xxAutFo="You will now be forwarded automatically."
xxLOSuc="You have logged out successfully!"
xxLISuc="Login Successful!"
xxNoLog="Sorry, your username and password were not found. Please try again."
xxPlEnt="Please enter your username and password."
xxSubmt="Submit"
xxWrCk="Please click here to write a cookie to remember your username and password."
xxLogin="Login"
xxFulNam="This message will not be shown again.\nPlease be sure to enter your first and last name in the field"
xxCLoc="Commercial Loc"
xxWtIns=" (With Insurance)"
xxStaVw="View Order Status"
xxStaCur="This is the current status for your order number"
xxStatus="Status"
xxStaErr="The following error occurred"
xxStaEr1="Please enter a valid order id."
xxStaEr2="Sorry, we could not find an order matching that order id and email address. Please try again."
xxStaEnt="Please enter your order id and the email address used on the order."
xxDate="Date"
xxTime="Time"
xxEFRec=" recommends this site"
xxEFThk="Thank you, your recommendation has been sent."
xxClkClo="Please click below to close this window."
xxSend="Send"
xxWantIns="Please click here to include shipping insurance."
xxPlsProc="Please proceed only if you are in acceptance of our terms and conditions.\nYou must signal your acceptance by checking the box."
xxTermsCo="Please click here if you are in acceptance of our terms and conditions. To review our terms and conditions, please click here."
xxComLoc="Please click here if your shipping destination is a commercial location."
xxValCC="Please enter a valid credit card number."
xxCCMon="Please select your credit card expiry month."
xxCCYear="Please select your credit card expiry year."
xxDot=""
xxEFYF1="Your friend "
xxEFYF2=" has recommended this site to you"
xxEFYF3=", and sends you the following message:"
ssIncTax="(%s Inc. Tax)"
xxMCCO="Checkout"
xxMCSC="Shopping cart"
xxMCIIC="Product(s) in cart"
xxHndlg="Handling"
xxFree="Free"
xxDscnts="Discounts"
xxDsProd="The following discounts apply to all these products."
xxDsCat="The following discounts apply in all these categories."
xxDsApp="Discounts Apply !"
xxAppDs="Applicable Discounts"
xxTotDs="Total Discounts"
xxSubTot="Sub Total"
xxGifCer="Coupon Number"
xxGifNum="Coupon or Discount Number"
xxGifEnt="If you have a coupon or discount number, please enter it here."
xxNoGfCr="The discount number you entered (%s) was not found, has expired or is not applicable. Please click here if you wish to go back and try again."
xxListPrice="List Price:%s"
xxHomeURL="categories.asp"
xxHome="Home"
xxOutStok="Out of Stock"
xxOutState="Outside USA"
xxState="State (US)"
xxAllSta="State"
xxNonState="State (Non US)"
xxPlsSel="Please Select..."
xxAddOrd="has been added to your order."
xxPlsWait="Please wait while we forward you to view the contents of your cart or "
xxClkHere="click here"
xxPlease="Please"
xxToRetrn="to return to the products page."
xxPlsEntr="Please enter a value in the field"
xxAlphaNu="Please enter only alphanumeric characters with no spaces in the field"
xxShpDtls="If you set the shipping address, please complete all shipping details."
xxShpDiff="Shipping Details. (If different from above)."
xxNoMeth="There are no methods available for your shipping destination."
xxPlsSlct="Please select a"
xxName="Full Name"
xxEmail="Email"
xxAddress="Address"
xxCity="City"
xxZip="Zip"
xxPhone="Phone"
xxCountry="Country"
xxWntRem="Do you want us to remember your customer details for the next time you visit?\n\nOk=Yes, Cancel=No."
xxCstDtl="Please enter your customer details."
xxAddInf="Additional Information"
xxRemMe="Remember me."
xxOpCook="Use this option to write a cookie to allow us to prepopulate this form the next time you visit."
xxNoPay="No Payment Methods Configured."
xxClkCmp="Please click below to complete your transaction."
xxPlsChz="Payment method"
xxShpOpt="Please select a shipping option from those below."
xxSryErr="Sorry, there was an error processing your request."
xxChkCmp="Check totals and proceed to process payment."
xxTotGds="Total Goods"
xxShippg="Shipping"
xxStaTax="State Tax"
xxCntTax="Country Tax"
xxGndTot="Grand Total"
xxCrdNum="Card Number"
xxExpEnd="Expires End"
xxMonth="Month"
xxYear="Year"
xx34code="3 or 4 digit code from back of card"
xxIfPres="(if present)"
xxMstClk="You must click below to complete the checkout process."
xxTrnRes="Transaction Result"
xxOrdNum="Order Number"
xxAutCod="Authorization Code"
xxSorTrn="I'm sorry, there was a problem with your transaction."
xxGoBack="Go Back and Try Again"
xxNoStok="One or more of your requests could not be completed as there is not sufficient stock."
xxCODets="Details"
xxCOName="Name"
xxCOUPri="Unit Price"
xxCOSel="Select"
xxQuant="Quantity"
xxTotal="Total"
xxDelete="Delete"
xxCntShp="Continue Shopping"
xxUpdTot="Update Totals"
xxSryEmp="Sorry, your shopping cart is empty"
xxPrsChk="Press checkout to enter your customer and shipping information."
xxNoCats="This category is not currently available."
xxClkCat="Please click on a category to view sub categories."
xxAlProd="All Products"
xxNoPrds="No products are currently available in this category."
xxPrdEnt="Please enter a value where indicated."
xxPrdChs="Please choose from the available product options."
xxPrd255="Please enter a maximum of 255 chars in the field indicated."
xxPrice="Price"
xxPrDets="Details"
xxEmFrnd="Email Friend"
xxCusDet="Customer Details"
xxShpDet="Shipping Details"
xxShpMet="Shipping Method"
xxPrId="Product ID"
xxPrNm="Product Name"
xxUnitPr="Unit Price"
xxOrdTot="Order Total"
xxOrdStr="Order at your store"
xxTnxOrd="Thank you for your order"
xxTouSoo="We will be in touch as soon as possible about your order, the details of which are as follows:"
xxAff1="Your affiliate link has just generated a sale totalling"
xxAff2="Please note that this is for information only as commission is only paid on cleared funds."
xxAff3="Affiliate partner sale"
xxThnks="Thank You."
xxThkYou=" Thank you for your purchase !
We will be in contact as soon as possible.
"
xxThkErr=" Sorry, there seemed to be an error !
If you need any help with your purchase, then please be sure to contact us.
"
xxRecEml="You will receive a copy of this receipt by email."
xxPrev="Previous"
xxNext="Next"
xxSrchPr="Search Products"
xxSrchFr="Search For"
xxSrchMx="Max Price"
xxSrchTp="Search Type"
xxSrchAl="All words"
xxSrchAn="Any word"
xxSrchEx="Exact Phrase "
xxSrchCt="In Category"
xxSrchAC="All Categories"
xxSrchNM="Sorry, no products matched your search."
xxAffPrg="Affiliate Partners Program."
xxWelcom="Welcome"
xxAffLog="Your login is correct. Please wait while we forward you to view your account details."
xxAffDts="Please enter your affiliate details."
xxAffUse="I'm sorry, that affiliate ID is already in use. Please choose another."
xxForAut="If you are not forwarded automatically, please"
xxInform="Please note. By checking the "inform me" option, you will receive an email notification every time your affiliate link generates a sale."
xxInfMe="Inform me"
xxAffLI="Login to your affiliate account"
xxAffID="Affiliate ID"
xxBack="Back to Account Details"
xxNewAct="Open new affiliate account"
xxGotAct="For those who already have an affiliate account."
xxAffNo="Sorry, we could not find your affiliate login / password."
xxPwd="Password"
xxTotTod="Total so far today"
xxTotYes="Total yesterday"
xxTotMTD="Total month to date"
xxTotLM="Total last month"
xxEdtAff="Edit Affiliate Details"
xxAffLI1="To set up your affiliate link, use any page with a .asp extension, for instance"
xxAffLI2="Please note that these totals are only provisional. Commission will only be paid on cleared funds, and sometimes sales are "charged back"."
xxAffLI3="The above totals are for sales generated, not commission due."
xxEFNam="Your Name"
xxEFEm="Your Email"
xxEFFEm="Your Friends Email"
xxEFCmt="Your Comments"
xxClsWin="Close Window"
xxEFBlr="Let your friends know all about the great deals that are on offer at this site. Just fill in the details below and click "Send"."
xxSearch="Search"
xxOrdId="Order ID"
xxInAssc="In Association with"
xxTnkStr="Thank You For Shopping at Our Store"
xxTnkWit="Thank you for shopping with"
xxMerRef="Merchant's Reference"
xxPlsNt1="Please take note of the above information, and quote the"
xxPlsNt2="if you need to contact our store for any reason."
xxOrdNIs="Your order number is"
xxClkBck="Please Click Here to Head Back to Our Store"
' Please make sure this line is the last line in this file %>
<%
' For a description of these parameters and their useage, please open the following URL in your browser
' http://www.ecommercetemplates.com/help/ecommplus/parameters.asp
sortBy = 1
pathtossl = ""
taxShipping=0
pagebarattop=0
productcolumns=3
useproductbodyformat=2
usesearchbodyformat=1
usedetailbodyformat=1
useemailfriend=true
nobuyorcheckout=false
noprice=false
expireaffiliate=30
sqlserver=false
usecategoryformat=1
allproductsimage=""
nogiftcertificate=false
showtaxinclusive=false
upspickuptype="03"
overridecurrency=false
orcsymbol="AU$ "
orcemailsymbol="AU$ "
orcdecplaces=2
orcpreamount=true
encryptmethod="aspencrypt"
commercialloc=true
showcategories=false
termsandconditions=false
showquantonproduct=false
showquantondetail=false
addshippinginsurance=0
noshipaddress=false
pricezeromessage=""
showproductid=false
currencyseparator=" "
noproductoptions=false
invoiceheader=""
invoiceaddress=""
invoicefooter=""
dumpccnumber=false
actionaftercart=1
dateadjust=0
emailorderstatus=3
htmlemails=false
categorycolumns=2
noshowdiscounts=false
catseparator=" "
willpickuptext=""
willpickupcost=0
extraorderfield1=""
extraorderfield1required=false
extraorderfield2=""
extraorderfield2required=false
' ===================================================================
' Please do not edit anything below this line
' ===================================================================
maintablebg=""
innertablebg=""
maintablewidth="98%"
innertablewidth="100%"
maintablespacing="0"
innertablespacing="0"
maintablepadding="1"
innertablepadding="6"
headeralign="left"
Session.LCID = 1033
const maxprodopts=15
const helpbaseurl="http://www.ecommercetemplates.com/help/ecommplus/"
Function Max(a,b)
if a > b then
Max=a
else
Max=b
end if
End function
Function Min(a,b)
if a < b then
Min=a
else
Min=b
end if
End function
%>
<%
'This code is copyright (c) Internet Business Solutions SL, all rights reserved.
'The contents of this file are protected under law as the intellectual property
'of Internet Business Solutions SL. Any use, reproduction, disclosure or copying
'of any kind without the express and written permission of Internet Business
'Solutions SL is forbidden.
'Author: Vince Reid, vince@virtualred.net
Dim gasaReferer,gasaThisSite,datedelim
Dim splitUSZones,countryCurrency,useEuro,storeurl,stockManage,handling,adminCanPostUser,packtogether,origZip,shipType,adminIntShipping,saveLCID,delccafter,adminTweaks,currRate1,currSymbol1,currRate2,currSymbol2,currRate3,currSymbol3,upsUser,upsPw
Dim origCountry,origCountryCode,uspsUser,uspsPw,upsAccess,fedexaccount,fedexmeter,adminUnits,adminlanguages,adminlangsettings,useStockManagement,adminProdsPerPage,countryTax,countryTaxRate,currLastUpdate,currConvUser,currConvPw,emailAddr,sendEmail,emailObject,themailhost,theuser,thepass
incfunctionsdefined=true : defimagejs=""
function ip2long(ip2lip)
ipret = -1
iparr = split(ip2lip, ".")
if isarray(iparr) then
if UBOUND(iparr)=3 then
if isnumeric(iparr(0)) AND isnumeric(iparr(1)) AND isnumeric(iparr(2)) AND isnumeric(iparr(3)) then
ipret = (iparr(0) * 16777216) + (iparr(1) * 65536) + (iparr(2) * 256) + (iparr(3))
end if
end if
end if
ip2long = ipret
end function
if Trim(request.querystring("PARTNER"))<>"" OR Trim(request.querystring("REFERER"))<>"" then
if expireaffiliate = "" then expireaffiliate=30
if Trim(request.querystring("PARTNER"))<>"" then thereferer=Trim(request.querystring("PARTNER")) else thereferer=Trim(request.querystring("REFERER"))
response.write ""
end if
if mysqlserver=true then sqlserver=true
if sqlserver=true then datedelim = "'" else datedelim = "#"
codestr="2952710692840328509902143349209039553396765"
if emailencoding="" then emailencoding="iso-8859-1"
if adminencoding="" then adminencoding="iso-8859-1"
if Session("languageid") <> "" then languageid=Session("languageid")
function getadminsettings()
if NOT alreadygotadmin then
if saveadmininapplication AND Application("getadminsettings")<>"" then
splitUSZones = Application("splitUSZones")
if orlocale<>"" then saveLCID = orlocale else saveLCID = Application("saveLCID")
Session.LCID = saveLCID
countryCurrency = Application("countryCurrency")
useEuro = Application("useEuro")
storeurl = Application("storeurl")
stockManage = Application("adminStockManage")
useStockManagement = Application("useStockManagement")
adminProdsPerPage = Application("adminProdsPerPage")
countryTax = Application("countryTax")
countryTaxRate = Application("countryTax")
delccafter = Application("delccafter")
handling = Application("handling")
adminCanPostUser = Application("adminCanPostUser")
packtogether = Application("packtogether")
origZip = Application("origZip")
shipType = Application("shipType")
adminIntShipping = Application("adminIntShipping")
origCountry = Application("origCountry")
origCountryCode = Application("origCountryCode")
uspsUser = Application("uspsUser")
uspsPw = Application("uspsPw")
upsUser = Application("upsUser")
upsPw = Application("upsPw")
upsAccess = Application("upsAccess")
fedexaccount = Application("fedexaccount")
fedexmeter = Application("fedexmeter")
adminUnits = Application("adminUnits")
emailObject = Application("emailObject")
themailhost = Application("themailhost")
theuser = Application("theuser")
thepass = Application("thepass")
emailAddr = Application("emailAddr")
sendEmail = Application("sendEmail")
adminTweaks = Application("adminTweaks")
adminlanguages = Application("adminlanguages")
adminlangsettings = Application("adminlangsettings")
currRate1 = Application("currRate1")
currSymbol1 = Application("currSymbol1")
currRate2 = Application("currRate2")
currSymbol2 = Application("currSymbol2")
currRate3 = Application("currRate3")
currSymbol3 = Application("currSymbol3")
currConvUser = Application("currConvUser")
currConvPw = Application("currConvPw")
currLastUpdate = Application("currLastUpdate")
adminSecret = Application("adminSecret")
else
sSQL = "SELECT adminEmail,emailObject,smtpserver,emailUser,emailPass,adminEmailConfirm,adminTweaks,adminProdsPerPage,adminStoreURL,adminHandling,adminPacking,adminDelCC,adminUSZones,adminStockManage,adminShipping,adminIntShipping,adminCanPostUser,adminZipCode,adminUnits,adminUSPSUser,adminUSPSpw,adminUPSUser,adminUPSpw,adminUPSAccess,FedexAccountNo,FedexMeter,adminlanguages,adminlangsettings,currRate1,currSymbol1,currRate2,currSymbol2,currRate3,currSymbol3,currConvUser,currConvPw,currLastUpdate,adminSecret,countryLCID,countryCurrency,countryName,countryCode,countryTax FROM admin INNER JOIN countries ON admin.adminCountry=countries.countryID WHERE adminID=1"
rs.Open sSQL,cnn,0,1
splitUSZones = (Int(rs("adminUSZones"))=1)
if orlocale<>"" then
Session.LCID = orlocale
elseif rs("countryLCID")<>0 then
Session.LCID = rs("countryLCID")
end if
saveLCID = Session.LCID
countryCurrency = rs("countryCurrency")
if orcurrencyisosymbol<>"" then countryCurrency=orcurrencyisosymbol
useEuro = (countryCurrency="EUR")
storeurl = rs("adminStoreURL")
stockManage = rs("adminStockManage")
useStockManagement = (rs("adminStockManage")<>0)
adminProdsPerPage = rs("adminProdsPerPage")
countryTax=cDbl(rs("countryTax"))
countryTaxRate=cDbl(rs("countryTax"))
delccafter = Int(rs("adminDelCC"))
handling = cDbl(rs("adminHandling"))
adminCanPostUser = trim(rs("adminCanPostUser"))
packtogether = Int(rs("adminPacking"))=1
origZip = rs("adminZipCode")
shipType = Int(rs("adminShipping"))
adminIntShipping = Int(rs("adminIntShipping"))
origCountry = rs("countryName")
origCountryCode = rs("countryCode")
uspsUser = rs("adminUSPSUser")
uspsPw = rs("adminUSPSpw")
upsUser = upsdecode(rs("adminUPSUser"), "")
upsPw = upsdecode(rs("adminUPSpw"), "")
upsAccess = rs("adminUPSAccess")
fedexaccount = rs("FedexAccountNo")
fedexmeter = rs("FedexMeter")
adminUnits=Int(rs("adminUnits"))
emailObject = rs("emailObject")
themailhost = Trim(rs("smtpserver")&"")
theuser = Trim(rs("emailUser")&"")
thepass = Trim(rs("emailPass")&"")
emailAddr = rs("adminEmail")
sendEmail = Int(rs("adminEmailConfirm"))=1
adminTweaks = Int(rs("adminTweaks"))
adminlanguages = Int(rs("adminlanguages"))
adminlangsettings = Int(rs("adminlangsettings"))
currRate1=cDbl(rs("currRate1"))
currSymbol1=trim(rs("currSymbol1")&"")
currRate2=cDbl(rs("currRate2"))
currSymbol2=trim(rs("currSymbol2")&"")
currRate3=cDbl(rs("currRate3"))
currSymbol3=trim(rs("currSymbol3")&"")
currConvUser=rs("currConvUser")
currConvPw=rs("currConvPw")
currLastUpdate=rs("currLastUpdate")
adminSecret=rs("adminSecret")
rs.Close
if saveadmininapplication=TRUE then
Application.Lock()
Application("splitUSZones") = splitUSZones
Application("saveLCID") = saveLCID
Application("countryCurrency") = countryCurrency
Application("useEuro") = useEuro
Application("storeurl") = storeurl
Application("adminStockManage") = stockManage
Application("useStockManagement") = useStockManagement
Application("adminProdsPerPage") = adminProdsPerPage
Application("countryTax") = countryTax
Application("delccafter") = delccafter
Application("handling") = handling
Application("adminCanPostUser") = adminCanPostUser
Application("packtogether") = packtogether
Application("origZip") = origZip
Application("shipType") = shipType
Application("adminIntShipping") = adminIntShipping
Application("origCountry") = origCountry
Application("origCountryCode") = origCountryCode
Application("uspsUser") = uspsUser
Application("uspsPw") = uspsPw
Application("upsUser") = upsUser
Application("upsPw") = upsPw
Application("upsAccess") = upsAccess
Application("fedexaccount") = fedexaccount
Application("fedexmeter") = fedexmeter
Application("adminUnits") = adminUnits
Application("emailObject") = emailObject
Application("themailhost") = themailhost
Application("theuser") = theuser
Application("thepass") = thepass
Application("emailAddr") = emailAddr
Application("sendEmail") = sendEmail
Application("adminTweaks") = adminTweaks
Application("adminlanguages") = adminlanguages
Application("adminlangsettings") = adminlangsettings
Application("currRate1") = currRate1
Application("currSymbol1") = currSymbol1
Application("currRate2") = currRate2
Application("currSymbol2") = currSymbol2
Application("currRate3") = currRate3
Application("currSymbol3") = currSymbol3
Application("currConvUser") = currConvUser
Application("currConvPw") = currConvPw
Application("currLastUpdate") = currLastUpdate
Application("adminSecret") = adminSecret
Application("getadminsettings")=TRUE
Application.UnLock()
end if
end if
end if
' Overrides
if orstoreurl<>"" then storeurl=orstoreurl
if (left(LCase(storeurl),7) <> "http://") AND (left(LCase(storeurl),8) <> "https://") then storeurl = "http://" & storeurl
if Right(storeurl,1) <> "/" then storeurl = storeurl & "/"
if oremailaddr<>"" then emailAddr=oremailaddr
if adminIntShipping="" then adminIntShipping=0 ' failsafe
getadminsettings = TRUE
end function
function strip_tags2(mistr)
Set toregexp = new RegExp
toregexp.pattern = "<[^>]+>"
toregexp.ignorecase = TRUE
toregexp.global = TRUE
mistr = toregexp.replace(mistr, "")
Set toregexp = Nothing
strip_tags2 = replace(mistr, """", """)
end function
function cleanforurl(surl)
if isempty(urlfillerchar) then urlfillerchar="_"
Set toregexp = new RegExp
toregexp.pattern = "<[^>]+>"
toregexp.ignorecase = TRUE
toregexp.global = TRUE
surl = replace(lcase(toregexp.replace(surl, ""))," ",urlfillerchar)
surl = replace(surl, "à", "a")
surl = replace(surl, "â", "a")
surl = replace(surl, "ç", "c")
surl = replace(surl, "è", "e")
surl = replace(surl, "é", "e")
surl = replace(surl, "ê", "e")
surl = replace(surl, "ë", "e")
surl = replace(surl, "î", "i")
surl = replace(surl, "ï", "i")
surl = replace(surl, "ò", "o")
surl = replace(surl, "ô", "o")
surl = replace(surl, "ö", "o")
surl = replace(surl, "ù", "u")
surl = replace(surl, "û", "u")
surl = replace(surl, "ü", "u")
surl = replace(surl, "ñ", "n")
toregexp.pattern = "[^a-z\"&urlfillerchar&"0-9]"
cleanforurl = toregexp.replace(surl, "")
end function
function vrxmlencode(xmlstr)
xmlstr = replace(xmlstr, "&", "&")
xmlstr = replace(xmlstr, "<", "<")
xmlstr = replace(xmlstr, ">", ">")
xmlstr = replace(xmlstr, "'", "'")
vrxmlencode = replace(xmlstr, """", """)
end function
function xmlencodecharref(xmlstr)
xmlstr = replace(xmlstr, "®", "")
xmlstr = replace(xmlstr, "&", "&")
xmlstr = replace(xmlstr, "<", "<")
xmlstr = replace(xmlstr, "®", "")
xmlstr = replace(xmlstr, ">", ">")
tmp_str=""
for i=1 to len(xmlstr)
ch_code=Asc(Mid(xmlstr,i,1))
if ch_code<=130 then tmp_str=tmp_str & Mid(xmlstr,i,1)
next
xmlencodecharref = tmp_str
end function
function getlangid(col, bfield)
if languageid="" or languageid=1 then
getlangid = col
else
if (adminlangsettings AND bfield)<>bfield then getlangid = col else getlangid = col & languageid
end if
end function
function upsencode(thestr, propcodestr)
if propcodestr="" then localcodestr=codestr else localcodestr=propcodestr
newstr=""
for index=1 to Len(localcodestr)
thechar = Mid(localcodestr,index,1)
if NOT IsNumeric(thechar) then
thechar = asc(thechar) MOD 10
end if
newstr = newstr & thechar
next
localcodestr = newstr
do while Len(localcodestr) < 40
localcodestr = localcodestr & localcodestr
loop
newstr=""
for index=1 to Len(thestr)
thechar = Mid(thestr,index,1)
newstr=newstr & Chr(asc(thechar)+Int(Mid(localcodestr,index,1)))
next
upsencode=newstr
end function
function upsdecode(thestr, propcodestr)
if propcodestr="" then localcodestr=codestr else localcodestr=propcodestr
newstr=""
for index=1 to Len(localcodestr)
thechar = Mid(localcodestr,index,1)
if NOT IsNumeric(thechar) then
thechar = asc(thechar) MOD 10
end if
newstr = newstr & thechar
next
localcodestr = newstr
do while Len(localcodestr) < 40
localcodestr = localcodestr & localcodestr
loop
if IsNull(thestr) then
upsdecode=""
else
newstr=""
for index=1 to Len(thestr)
thechar = Mid(thestr,index,1)
newstr=newstr & Chr(asc(thechar)-Int(Mid(localcodestr,index,1)))
next
upsdecode=newstr
end if
end function
function VSUSDate(thedate)
if mysqlserver=true then
VSUSDate = DatePart("yyyy",thedate) & "-" & DatePart("m",thedate) & "-" & DatePart("d",thedate)
elseif sqlserver=true then
VSUSDate = right(DatePart("yyyy",thedate),2) & IIfVr(DatePart("m",thedate)<10,"0","") & DatePart("m",thedate) & IIfVr(DatePart("d",thedate)<10,"0","") & DatePart("d",thedate)
else
VSUSDate = DatePart("m",thedate) & "/" & DatePart("d",thedate) & "/" & DatePart("yyyy",thedate)
end if
end function
function VSUSDateTime(thedate)
if mysqlserver=true then
VSUSDateTime = DatePart("yyyy",thedate) & "-" & DatePart("m",thedate) & "-" & DatePart("d",thedate) & " " & DatePart("h",thedate) & ":" & DatePart("n",thedate) & ":" & DatePart("s",thedate)
elseif sqlserver=true then
VSUSDateTime = right(DatePart("yyyy",thedate),2) & IIfVr(DatePart("m",thedate)<10,"0","") & DatePart("m",thedate) & IIfVr(DatePart("d",thedate)<10,"0","") & DatePart("d",thedate) & " " & DatePart("h",thedate) & ":" & DatePart("n",thedate) & ":" & DatePart("s",thedate)
else
VSUSDateTime = DatePart("m",thedate) & "/" & DatePart("d",thedate) & "/" & DatePart("yyyy",thedate) & " " & DatePart("h",thedate) & ":" & DatePart("n",thedate) & ":" & DatePart("s",thedate)
end if
end function
function FormatEuroCurrency(amount)
if overridecurrency=true then
if orcpreamount=true then FormatEuroCurrency = orcsymbol & FormatNumber(amount,orcdecplaces) else FormatEuroCurrency = FormatNumber(amount,orcdecplaces) & orcsymbol
else
if useEuro then FormatEuroCurrency = FormatNumber(amount,2) & " €" else FormatEuroCurrency = FormatCurrency(amount,-1,-2,0,-2)
end if
end function
function FormatEmailEuroCurrency(amount)
if overridecurrency=true then
if orcpreamount=true then FormatEmailEuroCurrency = orcemailsymbol & FormatNumber(amount,orcdecplaces) else FormatEmailEuroCurrency = FormatNumber(amount,orcdecplaces) & orcemailsymbol
else
if useEuro then FormatEmailEuroCurrency = FormatNumber(amount,2) & " Euro" else FormatEmailEuroCurrency = FormatCurrency(amount,-1,-2,0,-2)
end if
end function
sub do_stock_management(smOrdId)
end sub
sub stock_subtract(smOrdId)
smOrdId = Trim(smOrdId)
if NOT IsNumeric(smOrdId) OR smOrdId="" then smOrdId=0
if stockManage <> 0 then
sSQL="SELECT cartID,cartProdID,cartQuantity,pStockByOpts FROM cart INNER JOIN products ON cart.cartProdID=products.pID WHERE cartOrderID=" & smOrdId
rs2.Open sSQL,cnn,0,1
do while NOT rs2.EOF
if cint(rs2("pStockByOpts")) <> 0 then
sSQL = "SELECT coOptID FROM cartoptions INNER JOIN (options INNER JOIN optiongroup ON options.optGroup=optiongroup.optGrpID) ON cartoptions.coOptID=options.optID WHERE optType IN (-4,-2,-1,1,2,4) AND coCartID=" & rs2("cartID")
rs.Open sSQL,cnn,0,1
do while NOT rs.EOF
sSQL = "UPDATE options SET optStock=optStock-"&rs2("cartQuantity")&" WHERE optID="&rs("coOptID")
cnn.Execute(sSQL)
rs.MoveNext
loop
rs.Close
else
sSQL = "UPDATE products SET pInStock=pInStock-"&rs2("cartQuantity")&" WHERE pID='"&rs2("cartProdID")&"'"
cnn.Execute(sSQL)
end if
rs2.MoveNext
loop
rs2.Close
end if
end sub
sub release_stock(smOrdId)
if stockManage <> 0 then
sSQL="SELECT cartID,cartProdID,cartQuantity,pStockByOpts FROM cart INNER JOIN products ON cart.cartProdID=products.pID WHERE cartOrderID=" & smOrdId
rs2.Open sSQL,cnn,0,1
do while NOT rs2.EOF
if cint(rs2("pStockByOpts")) <> 0 then
Set clientRS = Server.CreateObject("ADODB.RecordSet")
sSQL = "SELECT coOptID FROM cartoptions INNER JOIN (options INNER JOIN optiongroup ON options.optGroup=optiongroup.optGrpID) ON cartoptions.coOptID=options.optID WHERE optType IN (-4,-2,-1,1,2,4) AND coCartID=" & rs2("cartID")
clientRS.Open sSQL,cnn,0,1
do while NOT clientRS.EOF
sSQL = "UPDATE options SET optStock=optStock+"&rs2("cartQuantity")&" WHERE optID="&clientRS("coOptID")
cnn.Execute(sSQL)
clientRS.MoveNext
loop
clientRS.Close
Set clientRS = nothing
else
sSQL = "UPDATE products SET pInStock=pInStock+"&rs2("cartQuantity")&" WHERE pID='"&rs2("cartProdID")&"'"
cnn.Execute(sSQL)
end if
rs2.MoveNext
loop
rs2.Close
end if
end sub
Sub productdisplayscript(doaddprodoptions,isdetail)
if currSymbol1<>"" AND currFormat1="" then currFormat1="%s " & currSymbol1 & ""
if currSymbol2<>"" AND currFormat2="" then currFormat2="%s " & currSymbol2 & ""
if currSymbol3<>"" AND currFormat3="" then currFormat3="%s " & currSymbol3 & ""
%>
<%
End Sub
Sub updatepricescript(doaddprodoptions,thetax,isdetail) %>
<%
End Sub
function checkDPs(currcode)
if currcode="JPY" then checkDPs=0 else checkDPs=2
end function
Sub checkCurrencyRates(currConvUser,currConvPw,currLastUpdate,byRef currRate1,currSymbol1,byRef currRate2,currSymbol2,byRef currRate3,currSymbol3)
ccsuccess = true
if currConvUser<>"" AND currConvPw<>"" AND currLastUpdate < Now()-1 then
sstr = ""
if currSymbol1<>"" then sstr = sstr & "&curr=" & currSymbol1
if currSymbol2<>"" then sstr = sstr & "&curr=" & currSymbol2
if currSymbol3<>"" then sstr = sstr & "&curr=" & currSymbol3
if sstr="" then
cnn.Execute("UPDATE admin SET currLastUpdate="&datedelim&VSUSDate(Now())&datedelim)
Application.Lock()
Application("getadminsettings")=""
Application.UnLock()
exit sub
end if
sstr = "?source=" & countryCurrency & "&user=" & currConvUser & "&pw=" & currConvPw & sstr
if proxyserver<>"" then
set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0")
objHttp.setProxy 2, proxyserver
else
set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
end if
objHttp.open "POST", "http://www.ecommercetemplates.com/currencyxml.asp" & sstr, false
objHttp.Send "X"
if (objHttp.status <> 200 ) then
' HTTP error handling
else
Set xmlDoc = objHttp.responseXML
Set t2 = xmlDoc.getElementsByTagName("currencyRates").Item(0)
for j = 0 to t2.childNodes.length - 1
Set n = t2.childNodes.Item(j)
if n.nodename="currError" then
response.write n.firstChild.nodeValue
ccsuccess = false
elseif n.nodename="selectedCurrency" then
currRate = 0
for i = 0 To n.childNodes.length - 1
Set e = n.childNodes.Item(i)
if e.nodeName="currSymbol" then
currSymbol = e.firstChild.nodeValue
elseif e.nodeName="currRate" then
currRate = e.firstChild.nodeValue
end if
next
saveLCID = Session.LCID
Session.LCID = 1033
if currSymbol1 = currSymbol then
currRate1 = cDbl(currRate)
cnn.Execute("UPDATE admin SET currRate1="&currRate&" WHERE adminID=1")
end if
if currSymbol2 = currSymbol then
currRate2 = cDbl(currRate)
cnn.Execute("UPDATE admin SET currRate2="&currRate&" WHERE adminID=1")
end if
if currSymbol3 = currSymbol then
currRate3 = cDbl(currRate)
cnn.Execute("UPDATE admin SET currRate3="&currRate&" WHERE adminID=1")
end if
Session.LCID = saveLCID
end if
next
if ccsuccess then cnn.Execute("UPDATE admin SET currLastUpdate="&datedelim&VSUSDate(Now())&datedelim)
Application.Lock()
Application("getadminsettings")=""
Application.UnLock()
end if
set objHttp = nothing
end if
End Sub
function IIfVr(theExp,theTrue,theFalse)
if theExp then IIfVr=theTrue else IIfVr=theFalse
end function
function getsectionids(thesecid, delsections)
secarr = split(thesecid, ",")
secid = "" : addcomma = ""
for each sect in secarr
if isnumeric(trim(sect)) then secid = secid & addcomma & sect : addcomma = ","
next
if secid="" then secid="0"
iterations = 0
iteratemore = true
if Session("clientLoginLevel")<>"" then minloglevel=Session("clientLoginLevel") else minloglevel=0
if delsections then nodel = "" else nodel = "sectionDisabled<="&minloglevel&" AND "
do while iteratemore AND iterations<10
sSQL2 = "SELECT DISTINCT sectionID,rootSection FROM sections WHERE " & nodel & "(topSection IN ("&secid&") OR (sectionID IN ("&secid&") AND rootSection=1))"
secid = ""
iteratemore = false
rs2.Open sSQL2,cnn,0,1
addcomma = ""
do while NOT rs2.EOF
if rs2("rootSection")=0 then iteratemore = true
secid = secid & addcomma & rs2("sectionID")
addcomma = ","
rs2.MoveNext
loop
rs2.Close
iterations = iterations + 1
loop
if secid="" then getsectionids = "0" else getsectionids = secid
end function
function callxmlfunction(cfurl, cfxml, byref res, cfcert, cxfobj, byref cferr, settimeouts)
if proxyserver<>"" AND cxfobj="Msxml2.ServerXMLHTTP" then
set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0")
objHttp.setProxy 2, proxyserver
else
set objHttp = Server.CreateObject(cxfobj)
end if
if settimeouts then objHttp.setTimeouts 30000, 30000, 0, 0
objHttp.open "POST", cfurl, false
objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
' if cfcert<>"" then objHttp.setOption 3, "LOCAL_MACHINE\My\" & cfcert
if cfcert<>"" then objHttp.SetClientCertificate("LOCAL_MACHINE\My\" & cfcert)
' response.write Replace(Replace(cfxml,"","</"),"<"," <")&""
err.number=0
objHttp.Send cfxml
errnum=err.number
errdesc=err.description
If errnum <> 0 OR objHttp.status <> 200 Then
cferr = "Error, couldn't connect to server (" & errnum & ", " & objHttp.status & "). " & errdesc
callxmlfunction = FALSE
Else
res = objHttp.responseText
callxmlfunction = TRUE
' response.write Replace(Replace(objHttp.responseText,"","</"),"<"," <")&""
End If
set objHttp = nothing
end function
function getpayprovdetails(ppid,ppdata1,ppdata2,ppdata3,ppdemo,ppmethod)
if NOT isnumeric(ppid) OR ppid="" then ppid=0
sSQL = "SELECT payProvData1,payProvData2,payProvData3,payProvDemo,payProvMethod FROM payprovider WHERE payProvEnabled=1 AND payProvID=" & replace(ppid, "'", "")
rs.Open sSQL,cnn,0,1
if NOT rs.EOF then
ppdata1 = trim(rs("payProvData1")&"")
ppdata2 = trim(rs("payProvData2")&"")
ppdata3 = trim(rs("payProvData3")&"")
ppdemo=(cint(rs("payProvDemo"))=1)
ppmethod=Int(rs("payProvMethod"))
getpayprovdetails = TRUE
else
getpayprovdetails = FALSE
end if
rs.Close
end function
sub writehiddenvar(hvname,hvval)
response.write "" & vbCrLf
end sub
sub writehiddenidvar(hvname,hvval)
response.write "" & vbCrLf
end sub
function ppsoapheader(username, password, threetokenhash)
ppsoapheader = "<" & "?xml version=""1.0"" encoding=""utf-8""?>" & username & "" & password & "" & IIfVr(threetokenhash<>"",""&threetokenhash&"","") & ""
end function
function displayproductoptions(grpnmstyle,grpnmstyleend,byRef optpricediff,thetax,isdetail, byRef hasmulti)
optionshtml = ""
optpricediff = 0
pricediff = 0
hasmulti = FALSE
for rowcounter=0 to UBOUND(prodoptions,2)
opthasstock = false
sSQL="SELECT optID,"&getlangid("optName",32)&","&getlangid("optGrpName",16)&","&OWSP&"optPriceDiff,optType,optGrpSelect,optFlags,optStock,optPriceDiff AS optDims,optDefault FROM options INNER JOIN optiongroup ON options.optGroup=optiongroup.optGrpID WHERE optGroup="&prodoptions(0,rowcounter)&" ORDER BY optID"
rs2.Open sSQL,cnn,0,1
if NOT rs2.EOF then
if abs(int(rs2("optType")))=3 then
opthasstock=true
fieldHeight = cInt((cDbl(rs2("optDims"))-Int(rs2("optDims")))*100.0)
optionshtml = optionshtml & "
"
do while not rs2.EOF
optionshtml = optionshtml & """) OR noprice=true,"dummyfunc","updateprice"&Count)&"();"" name=""optn"&rowcounter&""" "
if cint(rs2("optDefault"))<>0 then optionshtml = optionshtml & "checked "
optionshtml = optionshtml & "value='"&rs2("optID")&"' />0 AND rs2("optStock") <= 0 then optionshtml = optionshtml & " class=""oostock"" " else opthasstock=true
optionshtml = optionshtml & ">"&rs2(getlangid("optName",32))
if hideoptpricediffs<>true AND cDbl(rs2("optPriceDiff"))<>0 then
optionshtml = optionshtml & " ("
if cDbl(rs2("optPriceDiff")) > 0 then optionshtml = optionshtml & "+"
if (rs2("optFlags") AND 1) = 1 then pricediff = (rs("pPrice")*rs2("optPriceDiff"))/100.0 else pricediff = rs2("optPriceDiff")
if showtaxinclusive=2 AND (rs("pExemptions") AND 2)<>2 then pricediff=pricediff+(pricediff*thetax/100.0)
optionshtml = optionshtml & FormatEuroCurrency(pricediff)&")"
if rs2("optDefault")<>0 then optpricediff = optpricediff + pricediff
end if
if useStockManagement AND showinstock=TRUE AND noshowoptionsinstock<>TRUE AND cint(rs("pStockByOpts"))<>0 then optionshtml = optionshtml & replace(xxOpSkTx, "%s", rs2("optStock"))
optionshtml = optionshtml & ""
if (rs2("optFlags") AND 4) <> 4 then optionshtml = optionshtml & " "&vbCrLf
rs2.MoveNext
loop
optionshtml = optionshtml & "
"
elseif abs(int(rs2("optType")))=4 then
if multipurchasecolumns="" then multipurchasecolumns=2
colwid=int(100/multipurchasecolumns)
if cint(rs2("optGrpSelect"))<>0 AND NOT isdetail then
hasmulti = 2
else
index = 0
do while not rs2.EOF
if useStockManagement AND cint(rs("pStockByOpts"))<>0 AND rs2("optStock") <= 0 then oostock=TRUE else oostock=FALSE
if (index MOD multipurchasecolumns) = 0 then optionshtml = optionshtml & "
"
optionshtml = optionshtml & "
"
optionshtml = optionshtml & " - " & rs2(getlangid("optName",32))
if hideoptpricediffs<>true AND cDbl(rs2("optPriceDiff"))<>0 then
optionshtml = optionshtml & " ("
if cDbl(rs2("optPriceDiff")) > 0 then optionshtml = optionshtml & "+"
if (rs2("optFlags") AND 1) = 1 then pricediff = (rs("pPrice")*rs2("optPriceDiff"))/100.0 else pricediff = rs2("optPriceDiff")
if showtaxinclusive=2 AND (rs("pExemptions") AND 2)<>2 then pricediff=pricediff+(pricediff*thetax/100.0)
optionshtml = optionshtml & FormatEuroCurrency(pricediff)&")"
end if
if index=0 then optionshtml = optionshtml & ""
optionshtml = optionshtml & "
"
index = index + 1
if (index MOD multipurchasecolumns) = 0 then optionshtml = optionshtml & "
"
rs2.MoveNext
loop
if (index MOD multipurchasecolumns) <> 0 then
do while (index MOD multipurchasecolumns) <> 0
if index>=multipurchasecolumns then optionshtml = optionshtml & "
"
index = index + 1
loop
if ((index MOD multipurchasecolumns) = 0) then optionshtml = optionshtml & "
"
end if
hasmulti = 1
end if
else
optionshtml = optionshtml & "
"
end if
end if
rs2.Close
optionshavestock = (optionshavestock AND opthasstock)
next
displayproductoptions = optionshtml
end function
if enableclientlogin=TRUE OR forceclientlogin=TRUE then
if Session("clientID")<>"" then
elseif trim(request.form("checktmplogin"))<>"" AND isnumeric(trim(request.form("sessionid"))) then
Set clientRS = Server.CreateObject("ADODB.RecordSet")
Set clientCnn=Server.CreateObject("ADODB.Connection")
clientCnn.open sDSN
sSQL = "SELECT tmploginname FROM tmplogin WHERE tmploginid=" & replace(trim(request.form("sessionid")),"'","") & " AND tmploginchk=" & replace(trim(request.form("checktmplogin")),"'","")
clientRS.Open sSQL,clientCnn,0,1
if NOT clientRS.EOF then
Session("clientID")=replace(clientRS("tmploginname"),"'","")
clientRS.Close
' clientCnn.Execute("DELETE FROM tmplogin WHERE tmploginid=" & request.form("sessionid"))
sSQL = "SELECT clUserName,clActions,clLoginLevel,clPercentDiscount FROM customerlogin WHERE clID="&session("clientID")
clientRS.Open sSQL,clientCnn,0,1
if NOT clientRS.EOF then
Session("clientUser")=clientRS("clUserName")
Session("clientActions")=clientRS("clActions")
Session("clientLoginLevel")=clientRS("clLoginLevel")
Session("clientPercentDiscount")=(100.0-cDbl(clientRS("clPercentDiscount")))/100.0
end if
end if
clientRS.Close
clientCnn.Close
set clientRS = nothing
set clientCnn = nothing
elseif Request.Cookies("WRITECLL")<>"" then
Set clientRS = Server.CreateObject("ADODB.RecordSet")
Set clientCnn=Server.CreateObject("ADODB.Connection")
clientCnn.open sDSN
clientEmail = replace(Request.Cookies("WRITECLL"),"'","")
clientPW = replace(Request.Cookies("WRITECLP"),"'","")
sSQL = "SELECT clID,clUserName,clActions,clLoginLevel,clPercentDiscount FROM customerlogin WHERE (clEmail<>'' AND clEmail='"&clientEmail&"' AND clPW='"&clientPW&"') OR (clEmail='' AND clUserName='"&clientEmail&"' AND clPW='"&clientPW&"')"
clientRS.Open sSQL,clientCnn,0,1
if NOT clientRS.EOF then
Session("clientID")=clientRS("clID")
Session("clientUser")=clientRS("clUsername")
Session("clientActions")=clientRS("clActions")
Session("clientLoginLevel")=clientRS("clLoginLevel")
Session("clientPercentDiscount")=(100.0-cDbl(clientRS("clPercentDiscount")))/100.0
end if
clientRS.Close
clientCnn.Close
set clientRS = nothing
set clientCnn = nothing
end if
if requiredloginlevel<>"" then
if Session("clientLoginLevel")Session("clientLoginLevel") then Response.redirect "cart.asp?mode=login&refurl=" & server.urlencode(request.servervariables("URL") & IIfVr(request.servervariables("QUERY_STRING")<>"" ,"?"&request.servervariables("QUERY_STRING"), ""))
end if
end if
if (Session("clientActions") AND 2)=2 then showtaxinclusive=FALSE
end if
function urldecode(encodedstring)
strIn = encodedstring : strOut = "" : intPos = Instr(strIn, "+")
do While intPos
strLeft = "" : strRight = ""
if intPos > 1 then strLeft = Left(strIn, intPos - 1)
if intPos < len(strIn) then strRight = Mid(strIn, intPos + 1)
strIn = strLeft & " " & strRight
intPos = InStr(strIn, "+")
intLoop = intLoop + 1
Loop
intPos = InStr(strIn, "%")
do while intPos AND Len(strIn)-intPos > 2
if intPos > 1 then strOut = strOut & Left(strIn, intPos - 1)
strOut = strOut & Chr(CInt("&H" & mid(strIn, intPos + 1, 2)))
if intPos > (len(strIn) - 3) then strIn = "" else strIn = Mid(strIn, intPos + 3)
intPos = InStr(strIn, "%")
Loop
urldecode = strOut & strIn
end function
function vrmax(a,b)
if a > b then vrmax=a else vrmax=b
end function
function vrmin(a,b)
if a < b then vrmin=a else vrmin=b
end function
function getsessionsql()
getsessionsql = IIfVr(session("clientID")<>"", "cartClientID="&replace(session("clientID"),"'",""), "(cartClientID=0 AND cartSessionID="&replace(thesessionid,"'","")&")")
end function
function getordersessionsql()
getordersessionsql = IIfVr(session("clientID")<>"", "ordClientID="&replace(session("clientID"),"'",""), "(ordClientID=0 AND ordSessionID="&replace(thesessionid,"'","")&")")
end function
function trimoldcartitems(cartitemsdel)
if dateadjust="" then dateadjust=0
thetocdate = DateAdd("h",dateadjust,Now())
sSQL = "SELECT adminDelUncompleted,adminClearCart FROM admin WHERE adminID=1"
rs.Open sSQL,cnn,0,1
delAfter=rs("adminDelUncompleted")
delSavedCartAfter=rs("adminClearCart")
rs.Close
if delAfter<>0 then
sSQL = "SELECT ordID FROM orders WHERE ordAuthNumber='' AND ordDate<" & datedelim & VSUSDate(thetocdate-delAfter) & datedelim & " AND ordStatus=2"
rs.Open sSQL,cnn,0,1
do while NOT rs.EOF
release_stock(rs("ordID"))
cnn.Execute("UPDATE cart SET cartOrderID=0 WHERE cartOrderID="&rs("ordID"))
cnn.Execute("DELETE FROM orders WHERE ordID="&rs("ordID"))
rs.MoveNext
loop
rs.Close
end if
sSQL = "SELECT cartID FROM cart WHERE cartCompleted=0 AND cartOrderID=0 AND "
sSQL = sSQL & "((cartClientID=0 AND cartDateAdded<"&datedelim & VSUSDateTime(cartitemsdel) & datedelim & ") "
if delSavedCartAfter<>0 then sSQL = sSQL & "OR (cartDateAdded<"&datedelim & VSUSDate(thetocdate-delSavedCartAfter) & datedelim & ") "
sSQL = sSQL & ")"
rs.Open sSQL,cnn,0,1
if NOT rs.EOF then
delOptions="" : addcomma = ""
do while NOT rs.EOF
delOptions = delOptions & addcomma & rs("cartID")
addcomma = ","
rs.MoveNext
loop
cnn.Execute("DELETE FROM cartoptions WHERE coCartID IN ("&delOptions&")")
cnn.Execute("DELETE FROM cart WHERE cartID IN ("&delOptions&")")
end if
rs.Close
end function
function htmlspecials(thestr)
htmlspecials = replace(replace(replace(thestr,">",">"),"<","<"),"""",""")
end function
sub addtomailinglist(theemail)
theemail=trim(lcase(strip_tags2(replace(theemail,"""",""))))
sSQL = "SELECT email,isconfirmed FROM mailinglist WHERE email='" & replace(theemail,"'","''") & "'"
rs.Open sSQL,cnn,0,1
emailexists=(NOT rs.EOF)
if NOT rs.EOF then isconfirmed=(rs("isconfirmed")<>0) else isconfirmed=FALSE
rs.Close
if NOT emailexists AND instr(theemail,"@")>0 AND instr(theemail, ".")>0 then cnn.Execute("INSERT INTO mailinglist (email,isconfirmed,mlConfirmDate,mlIPAddress) VALUES ('" & replace(theemail,"'","''") & "'," & IIfVr(noconfirmationemail,1,0)&","&datedelim&vsusdate(date())&datedelim&",'"&left(request.servervariables("REMOTE_ADDR"), 48)&"')")
if NOT isconfirmed AND NOT noconfirmationemail then
warncheckspamfolder=TRUE
if htmlemails=true then emlNl = " " else emlNl=vbCrLf
thelink = storeurl & "cart.asp?emailconf="&trim(theemail)&"&check="&left(calcmd5(uspsUser&upsUser&origZip&emailObject&checksumtext&":"&theemail), 10)
if htmlemails=TRUE then thelink = "" & thelink & ""
call DoSendEmailEO(theemail,emailAddr,"",xxMLConf,xxConfEm & emlNl & emlNl & thelink,emailObject,themailhost,theuser,thepass)
end if
end sub
function unicodehtmltojs(mistr)
outstr=""
thelen = len(mistr)
theind = 1
do while theind < thelen
strmrk = instr(theind, mistr, "")
if strmrk > 0 then
outstr = outstr & mid(mistr, theind, strmrk - theind)
stremrk = instr(theind+2, mistr, ";")
if stremrk > 0 then
decnum = mid(mistr, strmrk+2, (stremrk-strmrk)-2)
if isnumeric(decnum) then
hexstr = hex(decnum)
outstr = outstr & "\u" & string(4-len(hexstr), "0") & hexstr
theind = stremrk+1
else
outstr = outstr & mid(mistr, strmrk, stremrk-strmrk)
theind = stremrk
end if
else
outstr = outstr & mid(mistr, strmrk)
theind = thelen
end if
else
outstr = outstr & mid(mistr, theind)
theind = thelen
end if
loop
unicodehtmltojs = outstr
end function
function jscheck(thetxt)
if recodeunicodeforjs=TRUE then jscheck=replace(unicodehtmltojs(thetxt),"""","\""") else jscheck=replace(thetxt,"""","\""")
end function
function imageorlink(theimg, thetext, thelink, isjs)
if theimg<>"" then
imageorlink = ""
else
imageorlink = ""&thetext&""
end if
end function
function imageorbutton(theimg, thetext, thelink, isjs)
if theimg<>"" AND theimg<>"button" then
imageorbutton = ""
else
imageorbutton = ""
end if
end function
function imageorsubmit(theimg, thetext)
if theimg<>"" AND theimg<>"button" then
imageorsubmit = ""
else
imageorsubmit = ""
end if
end function
%>
<%
'This code is copyright (c) Internet Business Solutions SL, all rights reserved.
'The contents of this file are protected under law as the intellectual property
'of Internet Business Solutions SL. Any use, reproduction, disclosure or copying
'of any kind without the express and written permission of Internet Business
'Solutions SL is forbidden.
'Author: Vince Reid, vince@virtualred.net
if Trim(Request.Form("sessionid")) <> "" then thesessionid = replace(trim(Request.Form("sessionid")), "'", "") else thesessionid = Session.SessionID
if NOT isnumeric(thesessionid) then thesessionid=-1
function FormatMCCurrency(amount)
if overridecurrency=true then
if orcpreamount=true then
FormatMCCurrency = orcsymbol & FormatNumber(amount,orcdecplaces)
else
FormatMCCurrency = FormatNumber(amount,orcdecplaces) & orcsymbol
end if
else
if useEuro then
FormatMCCurrency = FormatNumber(amount,2) & " €"
else
FormatMCCurrency = FormatCurrency(amount)
end if
end if
end function
mcgndtot=0
mcpdtxt=""
totquant=0
shipping=0
discounts=0
if session("xscountrytax")<>"" then xscountrytax = cDbl(session("xscountrytax")) else xscountrytax=0
Set rs = Server.CreateObject("ADODB.RecordSet")
Set rs2 = Server.CreateObject("ADODB.RecordSet")
Set cnn=Server.CreateObject("ADODB.Connection")
cnn.open sDSN
if incfunctionsdefined=TRUE then
alreadygotadmin = getadminsettings()
else
sSQL = "SELECT countryLCID,countryCurrency,adminStoreURL FROM admin INNER JOIN countries ON admin.adminCountry=countries.countryID WHERE adminID=1"
rs.Open sSQL,cnn,0,1
if orlocale<>"" then
Session.LCID = orlocale
elseif rs("countryLCID")<>0 then
Session.LCID = rs("countryLCID")
end if
useEuro = (rs("countryCurrency")="EUR")
storeurl = rs("adminStoreURL")
if (left(LCase(storeurl),7) <> "http://") AND (left(LCase(storeurl),8) <> "https://") then storeurl = "http://" & storeurl
if Right(storeurl,1) <> "/" then storeurl = storeurl & "/"
rs.Close
end if
if request.form("mode")="checkout" then
if trim(request.form("checktmplogin"))<>"" AND isnumeric(trim(request.form("sessionid"))) then
sSQL = "SELECT tmploginname FROM tmplogin WHERE tmploginid=" & replace(trim(request.form("sessionid")),"'","") & " AND tmploginchk=" & replace(trim(request.form("checktmplogin")),"'","")
rs.Open sSQL,cnn,0,1
if NOT rs.EOF then Session("clientID")=rs("tmploginname")
rs.Close
else
Session("clientID")=empty
end if
end if
sSQL = "SELECT cartID,cartProdID,cartProdName,cartProdPrice,cartQuantity FROM cart WHERE cartCompleted=0 AND " & getsessionsql()
rs2.Open sSQL,cnn,0,1
do while NOT rs2.EOF
optPriceDiff=0
sSQL = "SELECT SUM(coPriceDiff) AS sumDiff FROM cartoptions WHERE coCartID="&rs2("cartID")
rs.Open sSQL,cnn,0,1
if NOT IsNull(rs("sumDiff")) then optPriceDiff=rs("sumDiff")
rs.Close
subtot = ((rs2("cartProdPrice")+optPriceDiff)*Int(rs2("cartQuantity")))
totquant = totquant + Int(rs2("cartQuantity"))
mcgndtot=mcgndtot+subtot
rs2.MoveNext
loop
rs2.Close
cnn.Close
set rs = nothing
set rs2 = nothing
set cnn = nothing
%>
<% if request.form("mode")="update" then %>
<%=xxMainWn%><%=totquant & " " & xxMCIIC %>
<% else %>
<% response.write mcpdtxt
if mcpdtxt<>"" AND session("discounts")<>"" then
discounts = cDbl(session("discounts")) %>
<% end if
if mcpdtxt<>"" AND session("xsshipping")<>"" then
shipping = cDbl(session("xsshipping"))
if shipping=0 then showshipping=""&xxFree&"" else showshipping=FormatMCCurrency(shipping) %>
<% end if
if mcpdtxt="" then xscountrytax=0 %>
<% end if %>