%
sDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<%=server.mappath("vsproducts.mdb")%>;"
%>
<% ' WARNING : Custom changes to this file will be overwritten when you update. It's much better to simply add any modified lines to your vsadmin/includes.asp file
xxBesRaU="Best Rate Using"
xxInStNo="You will be notified by email when the product is back in stock."
xxNoStEm="Please enter your email address and we'll email you when this product is back in stock."
xxNotBaS="Notify when back in stock"
xxContin="Continue"
xxPasRsS="Your password has been successfully reset."
xxSorRes="Sorry. We could not find that password reset key in our system."
xxResPas="Please click on the link below to reset your password."
xxPerPag="Per Page"
xxManRev="This order needs to be manually reviewed by one of our operatives. We will be in contact shortly."
xxFromSE="From"
xxShEsWi="Shipping Estimate Using"
xxTranAp="This transaction has been approved."
xxComOrd="For your security, please fill out the form below to complete your order."
xxNoBack="Do not click the refresh or back button or this transaction may be interrupted or cancelled."
xxCentl="Your card may be eligible or enrolled in Verified by Visa, MasterCard SecureCode or JCB J/Secure payer authentication programs. After clicking the ""Checkout"" button, your Card Issuer may prompt you for your payer authentication password to complete your purchase."
xxVBV1="Same card, added safely online"
xxVBV2="Verified by Visa is a new service that lets you shop online with added confidence."
xxVBV3="Through a simple checkout process, verified by Visa confirms your identity when you make purchases in participating online stores. It's convenient and it works with your existing Visa card."
xxVBV4="Plus, Verified by Visa is a snap to use. You register your card just once and create your own password. Then, when you make purchases at participating online stores, a Verified by Visa window will appear. Simply enter your password and click submit. Your identity is verified and the purchase is secure."
xxVBV5="To activate Verified by Visa in your Visa card, or to learn more, contact the financial institution that issued your Visa card."
xx3DSFai="Your financial institution has indicated that it could not successfully authenticate this transaction. To protect against unauthorized use, this card cannot be used to complete your purchase. You may complete the purchase by selecting another form of payment."
xxPurcha="Purchasing"
xxPurchd="Purchased"
xxDigPro="Digital Products"
xxDescr="Description"
xxWhDoTo="What would you like to do today?"
xxManAcc="Manage my account."
xxVwPsOr="View past orders."
xxCrGfRe="Create gift registry."
xxVwGfRe="View gift registries."
xxVwMyCa="View my cart."
xxVwOrSt="View my order status."
xxManAdd="Manage Addresses."
xxGoShop="Go shopping."
xxArVwLi="You are viewing the list"
xxLogInA="Logged in as"
xxVGifRe="View Gift Registries"
xxRemLis="Remove From List"
xxMovCar="Move to Cart"
xxItmTot="Item Total"
xxLisEmp="This list contains no items."
xxViewMC="To view your main cart contents please"
xxMyWisL="My Wish List"
xxSwCart="Switch to Cart"
xxCreaGR="Create Gift Registry"
xxNotSel="You haven't selected any items."
xxAddLis="Add To List"
xxNoGRe="No gift registries have been created"
xxPubAcc="Public Access"
xxVieGRe="View Registry Items"
xxDelGRe="Delete Gift Registry"
xxLisNam="Gift Registry Name"
xxGetSta="If you would like to get started browsing our store please"
xxDelLis="Are you sure you want to delete this list?"
xxLisCre="To create a new list, please"
xxLisMan="Gift Registry Management"
xxRecVie="Recently Viewed"
xxUPStm="UPS, the UPS Shield Trademark, the UPS Ready Mark, the UPS OnLine Tools Mark and the color brown are trademarks of United Parcel Service of America, Inc. All Rights Reserved."
xxOrCom="Or compare rates with"
xxAmtNov="The amount entered is not valid."
xxShpDff="If your shipping address is different from above, please click here:"
xxStars="Star(s)"
xxCliCon="Click to Confirm Order and View Receipt"
xxFirNam="First Name"
xxLasNam="Last Name"
xxClkRel="Click here to reload page"
xxManuf="Manufacturers"
xxSryNA="Sorry, this product is not currently available."
xxEdit="Edit"
xxNew="New"
xxDonat="Donation"
xxMakDon="Make A Donation"
xxView="View"
xxBasRat="Based on %s ratings."
xxShHaEs="Shipping and Handling Estimate"
xxApply="Apply"
xxGifCtc="Gift Certificate"
xxGCBal="Gift certificate found with balance of "
xxGCCNoF="Gift Certificate / Coupon Not Found"
xxCpAlAp="Coupon Already Applied"
xxCpnApd="Coupon Applied"
xxGcAlAp="Gift Certificate Already Applied"
xxGcApld="Gift Certificate Applied"
xxFldCnt="Flood control, please try again in a few seconds"
xxCpGcDl="Coupon / Gift Certificate Deleted"
xxDeltng="Deleting"
xxAplyng="Applying"
xxAppGC="Applied Gift Certificate"
xxApdCpn="Applied Coupon"
xxRemove="Remove"
xxOnOnCp="Only one coupon can be applied per order."
xxCanApp="Cannot apply"
xxGCMini="The minimum gift certificate purchase is"
xxEmCNMa="Email confirmation value does not match"
xxGCPurc="Purchase Gift Certificates"
xxAmount="Amount"
xxTo="To"
xxFrom="From"
xxReEmai="Recipients Email"
xxCReEma="Confirm Recipients Email"
xxMessag="Message"
xxOnlyDec="Please enter only numbers and decimal points in this field"
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 account."
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="Details for how to reset your password 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 reset 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 a minute 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="There are currently no items in your shopping cart."
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"
xxAlPrCa="View all products in all categories."
xxNoPrds="No products are currently available in this category."
xxClkPrd="Please click on a category to view products."
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 totaling"
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
' These are just a few examples of the parameters you can use to control
' your store. There are many, many more explained at the above URL
sortBy = 1
pathtossl = ""
taxShipping=0
pagebarattop=0
productcolumns=2
useproductbodyformat=1
usesearchbodyformat=1
usedetailbodyformat=1
useemailfriend=true
nobuyorcheckout=false
noprice=false
sqlserver=false
usecategoryformat=1
allproductsimage=""
showtaxinclusive=false
upspickuptype="03"
overridecurrency=false
orcsymbol="US$"
orcemailsymbol="US$"
orcdecplaces=2
orcpreamount=true
encryptmethod="aspencrypt"
showcategories=true
termsandconditions=false
nomarkup=TRUE
' ===================================================================
' Please do not edit anything below this line
' ===================================================================
Session.LCID = 1033
const maxprodopts=15
const helpbaseurl="http://www.ecommercetemplates.com/help/ecommplus/"
%>
<%
'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,countryNumCurrency,useEuro,storeurl,stockManage,handling,handlingchargepercent,adminCanPostUser,packtogether,origZip,shipType,adminIntShipping,saveLCID,delccafter,adminTweaks,currRate1,currSymbol1,currRate2,currSymbol2,currRate3,currSymbol3,upsUser,upsPw,adminSecret,cardinalprocessor,cardinalmerchant,cardinalpwd
Dim origCountry,origCountryCode,uspsUser,uspsPw,upsAccess,upsAccount,upsnegdrates,fedexaccount,fedexmeter,adminUnits,adminlanguages,adminlangsettings,useStockManagement,adminProdsPerPage,countryTax,countryTaxRate,currLastUpdate,currConvUser,currConvPw,emailAddr,sendEmail,emailObject,themailhost,theuser,thepass,catalogroot,adminAltRates,prodfilter,prodfiltertext,dosortby,sortoptions
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(strip_tags2(request.querystring("PARTNER"))) else thereferer=trim(strip_tags2(request.querystring("REFERER")))
response.write ""
end if
if mysqlserver=true then sqlserver=true
if sqlserver=true then datedelim = "'" else datedelim = "#"
if giftcertificateid="" then giftcertificateid="giftcertificate"
if donationid="" then donationid="donation"
codestr="2952710692840328509902143349209039553396765"
if emailencoding="" then emailencoding="iso-8859-1"
if adminencoding="" then adminencoding="iso-8859-1"
if SESSION("languageid") <> "" then languageid=SESSION("languageid")
if nomarkup=TRUE then sstrong="" : estrong="" else sstrong="" : estrong=""
if customeraccounturl="" then customeraccounturl="clientlogin.asp"
redasterix="*"
function getadminsettings()
if NOT alreadygotadmin then
sSQL = "SELECT adminEmail,emailObject,smtpserver,emailUser,emailPass,adminEmailConfirm,adminTweaks,adminProdsPerPage,adminStoreURL,adminHandling,adminHandlingPercent,adminPacking,adminDelCC,adminUSZones,adminStockManage,adminShipping,adminIntShipping,adminCanPostUser,adminZipCode,adminUnits,adminUSPSUser,adminUSPSpw,adminUPSUser,adminUPSpw,adminUPSAccess,adminUPSAccount,adminUPSNegotiated,FedexAccountNo,FedexMeter,adminlanguages,adminlangsettings,currRate1,currSymbol1,currRate2,currSymbol2,currRate3,currSymbol3,currConvUser,currConvPw,currLastUpdate,adminSecret,countryLCID,countryCurrency,countryNumCurrency,countryName,countryCode,countryTax,cardinalProcessor,cardinalMerchant,cardinalPwd,catalogRoot,adminAltRates,prodFilter,prodFilterText,prodFilterText2,prodFilterText3,sortOrder,sortOptions 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 AND rs("countryLCID")<>"" then
on error resume next
err.number = 0
Session.LCID = cint(rs("countryLCID"))
if err.number<>0 then response.write "The Locale ID (LCID) " & rs("countryLCID") & " is not available on this server. Please use the orlocale setting to override this. "
on error goto 0
end if
saveLCID = Session.LCID
countryCurrency = rs("countryCurrency")
countryNumCurrency = rs("countryNumCurrency")
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"))
handlingchargepercent = cDbl(rs("adminHandlingPercent"))
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")
upsAccount = rs("adminUPSAccount")
upsnegdrates = (cint(rs("adminUPSNegotiated"))<>0)
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")
cardinalprocessor = rs("cardinalProcessor")
cardinalmerchant = rs("cardinalMerchant")
cardinalpwd = rs("cardinalPwd")
catalogroot = rs("catalogRoot")
adminAltRates = rs("adminAltRates")
dosortby = rs("sortOrder")
sortoptions = rs("sortOptions")
prodfilter = rs("prodFilter")
prodfiltertext = rs(getlangid("prodFilterText",262144))
rs.Close
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 replaceaccents(ByVal surl)
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")
replaceaccents = replace(surl, "ñ", "n")
end function
function cleanforurl(ByVal 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 = replaceaccents(surl)
toregexp.pattern = "[^a-z\"&urlfillerchar&"0-9]"
cleanforurl = toregexp.replace(surl, "")
end function
function vrxmlencode(ByVal xmlstr)
xmlstr = replace(xmlstr, "&", "&")
xmlstr = replace(xmlstr, "<", "<")
xmlstr = replace(xmlstr, ">", ">")
xmlstr = replace(xmlstr, "'", "'")
vrxmlencode = replace(xmlstr, """", """)
end function
function xmlencodecharref(ByVal xmlstr)
xmlstr = replace(xmlstr&"", "®", "")
xmlstr = replace(xmlstr, "&", "&")
xmlstr = replace(xmlstr, "<", "<")
xmlstr = replace(xmlstr, "®", "")
xmlstr = replace(xmlstr, ">", ">")
tmp_str=""
for ii=1 to len(xmlstr)
ch_code=Asc(Mid(xmlstr,ii,1))
if ch_code<=130 then tmp_str=tmp_str & Mid(xmlstr,ii,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 FormatCurrencyZeroDP(amount)
if overridecurrency=true then
if orcpreamount=true then FormatCurrencyZeroDP = orcsymbol & FormatNumber(amount,0) else FormatCurrencyZeroDP = FormatNumber(amount,0) & orcsymbol
else
if useEuro then FormatCurrencyZeroDP = FormatNumber(amount,0) & " €" else FormatCurrencyZeroDP = FormatCurrency(amount,0,-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 LEFT JOIN orders ON cart.cartOrderID=orders.ordID) INNER JOIN products ON cart.cartProdID=products.pID WHERE ordAuthStatus<>'MODWARNOPEN' AND 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 & ""
if NOT (pricecheckerisincluded=TRUE) then ' {
if SESSION("clientID")<>"" AND (wishlistonproducts OR isdetail) then %>
<% end if
%>" /><%
pricecheckerisincluded=TRUE
end if ' } pricecheckerisincluded
end sub
sub updatepricescript(doaddprodoptions,thetax,isdetail)
prodoptions=""
sSQL = "SELECT poOptionGroup,optType,optFlags FROM prodoptions INNER JOIN optiongroup ON optiongroup.optGrpID=prodoptions.poOptionGroup WHERE poProdID='"&escape_string(rs("pID"))&"' AND NOT (poProdID='"&escape_string(giftcertificateid)&"' OR poProdID='"&escape_string(donationid)&"') ORDER BY poID"
rs2.Open sSQL,cnn,0,1
if NOT rs2.EOF then prodoptions=rs2.getrows
rs2.Close %>
<%
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)
exit sub
end if
sstr = "?source=" & countryCurrency & "&user=" & currConvUser & "&pw=" & currConvPw & sstr
xmlDoc="xml"
if callxmlfunction("http://www.ecommercetemplates.com/currencyxml.asp" & sstr, "X", xmlDoc, "", "Msxml2.ServerXMLHTTP", errormsg, FALSE) then
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)
end if
set xmlDoc = nothing
end if
End Sub
function IIfVr(theExp,theTrue,theFalse)
if theExp then IIfVr=theTrue else IIfVr=theFalse
end function
function IIfVs(theExp,theTrue)
if theExp then IIfVs=theTrue else IIfVs=""
end function
function getsectionids(thesecid, delsections)
getsectionids=""
secarr = split(thesecid, ",")
secid = "" : addcomma = "" : addcomma2 = ""
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&")"
if iterations=0 then sSQL2=sSQL2 & " OR (sectionID IN ("&secid&") AND rootSection=1))" else sSQL2=sSQL2 & ")"
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 = ","
else
getsectionids = getsectionids & addcomma2 & rs2("sectionID")
addcomma2 = ","
end if
rs2.MoveNext
loop
rs2.Close
iterations = iterations + 1
loop
if getsectionids="" then getsectionids = "0"
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
if settimeouts>10 then objHttp.setTimeouts settimeouts*1000, settimeouts*1000, settimeouts*1000, settimeouts*1000 else objHttp.setTimeouts 30000, 30000, 0, 0
end if
objHttp.open "POST", cfurl, false
hascontenttype=FALSE
if isarray(xmlfnheaders) then
for each objitem in xmlfnheaders
objHttp.setRequestHeader objitem(0), objitem(1)
if objitem(0)="Content-Type" then hascontenttype=TRUE
next
end if
if NOT hascontenttype then 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)
on error resume next
err.number=0
objHttp.Send cfxml
errnum=err.number
errdesc=err.description
on error goto 0
if errnum <> 0 then
cferr = "Error, couldn't connect to "&cfurl&" (" & errnum & "). " & errdesc
callxmlfunction=FALSE
elseif objHttp.status <> 200 then
cferr = "Error, invalid response from "&cfurl&" (" & objHttp.status & ")."
callxmlfunction=FALSE
else
if res="xml" then set res=objHttp.responseXML else res = objHttp.responseText
callxmlfunction=TRUE
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
function whv(hvname,hvval)
whv = "" & vbCrLf
end function
sub print(ps)
response.write ps
end sub
sub writehiddenidvar(hvname,hvval)
response.write "" & vbCrLf
end sub
function ppsoapheader(username, password, threetokenhash)
ppsoapheader = "<" & "?xml version=""1.0"" encoding=""utf-8""?>" & IIfVr(instr(username,"@AB@")=0, "" & username & "" & password & "" & IIfVr(threetokenhash<>"",""&threetokenhash&"",""), ""&replace(username,"@AB@","")&"") & ""
end function
function getoptpricediff(opd, theid, theexp, pprice, ByRef pstock)
getoptpricediff = cdbl(opd)
if theexp<>"" AND Left(theexp,1)<>"!" then
theexp = replace(theexp, "%s", theid)
if InStr(theexp, " ") > 0 then ' Search and replace
exparr = split(theexp, " ", 2)
theid = replace(theid, exparr(0), exparr(1), 1, 1)
else
theid = theexp
end if
sSQL = "SELECT "&WSP&"pPrice,pInStock FROM products WHERE pID='"&escape_string(theid)&"'"
rs3.Open sSQL,cnn,0,1
if NOT rs3.EOF then getoptpricediff = rs3("pPrice")-pprice : pstock = rs3("pInStock")
rs3.Close
end if
end function
sub addtoaltids(theexp, byref altidarr, byref altids)
theexp = trim(theexp&"")
if (theexp<>"") AND Left(theexp,1)<>"!" then
if NOT isarray(altidarr) then
altidarr = split(trim(altids))
altids = ""
end if
for each theid in altidarr
theexpa = replace(theexp, "%s", theid)
if InStr(theexpa, " ") > 0 then ' Search and replace
exparr = split(theexpa, " ", 2)
theid = replace(theid, exparr(0), exparr(1), 1, 1)
else
theid = theexpa
end if
altids = altids & theid & " "
next
end if
end sub
optjsunique=","
sub addtooptionsjs(byref optionsjs, isdetail, origoptpricediff)
if instr(optjsunique,","&rs2("optID")&",")=0 then
if useStockManagement then optionsjs = optionsjs & "oS["&rs2("optID")&"]="&rs2("optStock")&";"
session.LCID=1033
if (trim(rs2("optRegExp")&"")="" OR left(trim(rs2("optRegExp")&""),1)="!") AND origoptpricediff<>0 then optionsjs = optionsjs & "op["&rs2("optID")&"]="&origoptpricediff&";"
session.LCID=saveLCID
if trim(rs2("optRegExp")&"")<>"" AND left(trim(rs2("optRegExp")&""),1)<>"!" then optionsjs = optionsjs & "or["&rs2("optID")&"]='"&rs2("optRegExp")&"';"
optionsjs = optionsjs & "ot["&rs2("optID")&"]="""&jscheck(rs2(getlangid("optName",32))&"")&""";"
if trim(rs2("optAlt"&IIfVr(isdetail,"Large","")&"Image")&"")<>"" then optionsjs = optionsjs & "aIM["&rs2("optID")&"]='"&rs2("optAlt"&IIfVr(isdetail,"Large","")&"Image")&"';"
optionsjs = optionsjs & vbCrLf
optjsunique=optjsunique&rs2("optID")&","
end if
end sub
function displayproductoptions(grpnmstyle,grpnmstyleend,byRef optpricediff,thetax,isdetail, byRef hasmulti, byRef optionsjs)
optionshtml=""
optionsjs=""
altids=rs("pID")
optpricediff=0
pricediff=0
hasmulti=FALSE
savedefimagejs=defimagejs
saveoptionsjs=optionsjs
saveoptjsunique=optjsunique
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,optAlt"&IIfVr(isdetail,"Large","")&"Image,optRegExp FROM options INNER JOIN optiongroup ON options.optGroup=optiongroup.optGrpID WHERE optGroup="&prodoptions(0,rowcounter)&" ORDER BY optID"
rs2.Open sSQL,cnn,1,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 & "
"&grpnmstyle&":"&grpnmstyleend&"
"
if fieldHeight<>1 then
optionshtml = optionshtml & ""
else
optionshtml = optionshtml & ""
end if
optionshtml = optionshtml & "
"
elseif abs(int(rs2("optType")))=1 then
optionshtml = optionshtml & "
"
index = 0
do while not rs2.EOF
origoptpricediff = getoptpricediff(rs2("optPriceDiff"), rs("pID"), trim(rs2("optRegExp")&""), rs("pPrice"), stocknotused)
call addtoaltids(rs2("optRegExp"), altidarr, altids)
optionshtml = optionshtml & "0 then optionshtml = optionshtml & "checked=""checked"" "
optionshtml = optionshtml & "value='"&rs2("optID")&"' />0 AND rs2("optStock")<=0 AND trim(rs2("optRegExp")&"")="" then optionshtml = optionshtml & " class=""oostock""" else opthasstock=true
optionshtml = optionshtml & ">"&rs2(getlangid("optName",32))
if hideoptpricediffs<>true AND origoptpricediff<>0 AND trim(rs2("optRegExp")&"")="" then
optionshtml = optionshtml & " ("
if origoptpricediff > 0 then optionshtml = optionshtml & "+"
if (rs2("optFlags") AND 1) = 1 then pricediff = (rs("pPrice")*origoptpricediff)/100.0 else pricediff = origoptpricediff
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
index = index + 1
call addtooptionsjs(optionsjs, isdetail, origoptpricediff)
rs2.MoveNext
loop
set altidarr = nothing
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
optionshtml=""
optionsjs=""
altids = rs("pID")
defimagejs=savedefimagejs
optionsjs=saveoptionsjs
optjsunique=saveoptjsunique
opthasstock=TRUE
rowcounter=UBOUND(prodoptions,2)+1
else
optionshtml = optionshtml & "
"
index = 0
do while not rs2.EOF
stocklevel=rs2("optStock")
origoptpricediff = getoptpricediff(rs2("optPriceDiff"), rs("pID"), trim(rs2("optRegExp")&""), rs("pPrice"), stocklevel)
call addtoaltids(rs2("optRegExp"), altidarr, altids)
if useStockManagement AND cint(rs("pStockByOpts"))<>0 AND stocklevel<=0 AND trim(rs2("optRegExp")&"")="" then oostock=TRUE else oostock=FALSE
if (index MOD multipurchasecolumns) = 0 then optionshtml = optionshtml & "
"
index = index + 1
if (index MOD multipurchasecolumns) = 0 then optionshtml = optionshtml & "
"
call addtooptionsjs(optionsjs, isdetail, origoptpricediff)
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
optionshtml = optionshtml & "
"
end if
else
optionshtml = optionshtml & "
" & IIfVr(noselectoptionlabel<>TRUE, "
"&grpnmstyle&":"&grpnmstyleend&"
", "
") & "
"
end if
end if
rs2.Close
optionshavestock = (optionshavestock AND opthasstock)
next
displayproductoptions = optionshtml
sSQL = "SELECT pID,"&WSP&"pPrice,pInStock,p"&IIfVr(isdetail,"Large","")&"Image FROM products WHERE pID IN ('" & replace(altids, " ", "','") & "')"
rs2.Open sSQL,cnn,0,1
do while NOT rs2.EOF
pi = replace(rs2("p"&IIfVr(isdetail,"Large","")&"Image")&"","\","/")
if pi="prodimages/" then pi=""
pi = replace(pi, "|", "%7C")
pi = replace(pi, "prodimages/", "|")
pi = replace(pi, "<", "%3C")
pi = replace(pi, ".gif", "<")
pi = replace(pi, ">", "%3E")
pi = replace(pi, ".jpg", ">")
optionsjs = optionsjs & "sz('"&rs2("pID")&"'"
session.LCID=1033
optionsjs = optionsjs & "," & rs2("pPrice")
session.LCID=saveLCID
if useStockManagement then optionsjs = optionsjs & "," & rs2("pInStock")
optionsjs = optionsjs & ",'" & replace(pi, "'", "\'") & "');" ' & vbCrLf
rs2.MoveNext
loop
rs2.Close
if hasmulti<>2 then defimagejs="updateprice"&Count&"();"&defimagejs
end function
if enableclientlogin=TRUE OR forceclientlogin=TRUE then
if SESSION("clientID")<>"" then
elseif trim(request.form("checktmplogin"))<>"" AND isnumeric(trim(request.form("checktmplogin"))) then
Set clientRS = Server.CreateObject("ADODB.RecordSet")
Set clientCnn=Server.CreateObject("ADODB.Connection")
clientCnn.open sDSN
sSQL = "SELECT tmploginname FROM tmplogin WHERE tmploginid='" & escape_string(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
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=" & 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 = "ordDate>"&datedelim&VSUSDate(Date()-2)&datedelim&IIfVr(SESSION("clientID")<>"", " AND ordClientID="&replace(SESSION("clientID"),"'",""), " AND (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,listOwner FROM cart LEFT JOIN customerlists ON cart.cartListID=customerlists.listID 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
if NOT isnull(rs("listOwner")) then
cnn.Execute("UPDATE cart SET cartCompleted=3,cartClientID="&rs("listOwner")&" WHERE cartID="&rs("cartID"))
else
delOptions = delOptions & addcomma & rs("cartID")
addcomma = ","
end if
rs.MoveNext
loop
if delOptions<>"" then cnn.Execute("DELETE FROM cartoptions WHERE coCartID IN ("&delOptions&")")
if delOptions<>"" then 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,thename)
theemail=trim(lcase(strip_tags2(replace(theemail,"""",""))))
if instr(theemail,"@")>0 AND instr(theemail, ".")>0 then
sSQL = "SELECT email,isconfirmed FROM mailinglist WHERE email='" & escape_string(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 then cnn.Execute("INSERT INTO mailinglist (email,mlName,isconfirmed,mlConfirmDate,mlIPAddress) VALUES ('" & escape_string(theemail) & "','" & escape_string(thename) & "'," & 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 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,theclass,thelink, isjs)
if theimg<>"" AND theimg<>"button" then
imageorbutton = ""","class="""&theclass&""" ","")&"onmouseover=""this.style.cursor='pointer';window.status='"&replace(thetext,"'","\'")&"';return true"" onmouseout=""window.status='';return true"" onclick="""&IIfVr(isjs, "", "document.location='") & thelink & IIfVr(isjs, "", "'")&""" alt="""&thetext&""" />"
else
imageorbutton = ""","class="""&theclass&""" ","")&"onclick="""&IIfVr(isjs, "", "document.location='") & thelink & IIfVr(isjs, "", "'")&""" />"
end if
end function
function imageorsubmit(theimg,thetext,theclass)
if theimg<>"" AND theimg<>"button" then
imageorsubmit = ""","class="""&theclass&""" ","")&"/>"
else
imageorsubmit = ""","class="""&theclass&""" ","")&"/>"
end if
end function
function getgcchar()
getgcchar=""
do while getgcchar="" OR getgcchar="O" OR getgcchar="I" OR getgcchar="Q"
getgcchar = chr(Int(26 * Rnd) + 65)
loop
end function
function getrndchar()
num = Int(36 * Rnd) + 48
if num>57 then num=num+39
getrndchar = chr(num)
end function
function replaceemailtxt(thestr, txtsearch, txtreplace)
i = instr(thestr, txtsearch)
if i > 0 then
t1 = instrrev(thestr, "{", i)
t2 = instrrev(thestr, "}", i)
t3 = instr(i, thestr, "{")
t4 = instr(i, thestr, "}")
end if
if i=0 then
replaceemailtxt = thestr
elseif txtreplace="" then ' want to replace all of txtsearch OR {...txtsearch...}
if t1 > 0 AND t4 > 0 AND (t2=0 OR t2 < t1) AND (t3=0 OR t3 > t4) then replaceemailtxt = mid(thestr, 1, t1-1) & mid(thestr, t4+1) else replaceemailtxt = replace(thestr, txtsearch, "")
else ' Want to remove the { and }
if t1 > 0 AND t4 > 0 AND (t2=0 OR t2 < t1) AND (t3=0 OR t3 > t4) then thestr = mid(thestr, 1, t1-1) & mid(thestr, t1+1, (t4-t1)-1) & mid(thestr, t4+1)
replaceemailtxt = replace(thestr, txtsearch, txtreplace)
end if
end function
function showproductreviews(disptype, classname)
showproductreviews = "
"
end function
sub splitfirstlastname(thename, byref firstfull, byref lastname)
if usefirstlastname AND instr(thename, " ")>0 then
namearr = split(thename," ",2)
firstfull = namearr(0)
lastname = namearr(1)
else
firstfull=thename
lastname=""
end if
end sub
function getcatid(sid, snam)
if usecategoryname AND snam<>"" then getcatid=urlencode(snam) else getcatid=sid
end function
function cleanupemail(theemail)
theemail = strip_tags2(replace(theemail,"""",""))
gotat=FALSE
cleanupemail=""
for i=1 to len(theemail)
ch=mid(theemail,i,1)
if ch<>" " AND ch<>"""" AND ch<>"'" AND ch<>"(" AND ch<>")" AND NOT (ch="@" AND gotat) then cleanupemail=cleanupemail & ch
if ch="@" then gotat=TRUE
next
end function
function parse_url(surl,comp)
parse_url = replace(lcase(surl), "http://", "")
parse_url = replace(parse_url, "https://", "")
surlarr = split(parse_url, "?", 2)
if UBOUND(surlarr) >= 0 then parse_url = surlarr(0)
if comp=2 then surlarr = split(parse_url, "/", 2) : if UBOUND(surlarr) >= 0 then parse_url = surlarr(0)
end function
sub get_wholesaleprice_sql()
if SESSION("clientUser")<>"" then
if (SESSION("clientActions") AND 8)=8 then
WSP = "pWholesalePrice AS "
TWSP = "pWholesalePrice"
if wholesaleoptionpricediff=TRUE then OWSP = "optWholesalePriceDiff AS "
if nowholesalediscounts=true then nodiscounts=true
end if
if (SESSION("clientActions") AND 16)=16 then
Session.LCID = 1033
WSP = SESSION("clientPercentDiscount") & "*"&IIfVr((SESSION("clientActions") AND 8)=8,"pWholesalePrice","pPrice")&" AS "
TWSP = SESSION("clientPercentDiscount") & "*"&IIfVr((SESSION("clientActions") AND 8)=8,"pWholesalePrice","pPrice")
if wholesaleoptionpricediff=TRUE then OWSP = SESSION("clientPercentDiscount") & "*"&IIfVr((SESSION("clientActions") AND 8)=8,"optWholesalePriceDiff","optPriceDiff")&" AS "
if nowholesalediscounts=true then nodiscounts=true
Session.LCID = saveLCID
end if
end if
end sub
function writepagebar(CurPage,iNumPages,sprev,snext,sLink,nofirstpage)
Dim i, sStr, startPage, endPage
startPage = vrmax(1,CInt(Int(CDbl(CurPage)/10.0)*10))
endPage = vrmin(iNumPages,CInt(Int(CDbl(CurPage)/10.0)*10)+10)
if CurPage > 1 then
sStr = sLink & "1"">« " & sLink & CurPage-1 & """"&IIfVs(CurPage>2," rel=""prev""")&">"&sprev&" | "
else
sStr = "« "&sprev&" | "
end if
for i=startPage to endPage
if i=CurPage then
sStr = sStr & "" & i & " | "
else
sStr = sStr & sLink & i & """>"
if i=startPage AND i > 1 then sStr=sStr&"..."
sStr = sStr & i
if i=endPage AND i < iNumPages then sStr=sStr&"..."
sStr = sStr & " | "
end if
next
if CurPage < iNumPages then
writepagebar = sStr & sLink & CurPage+1 & """ rel=""next"">"&snext&" " & sLink & iNumPages & """>»"
else
writepagebar = sStr & " "&snext&" »"
end if
if nofirstpage then writepagebar = replace(replace(writepagebar,"&pg=1""",""" rel=""start"""),"?pg=1""",""" rel=""start""")
end function
function addtag(tagname, strValue)
addtag = "<" & tagname & ">" & Replace(Replace(strValue&"", "&", "&"), "<", "<") & "" & tagname & ">"
end function
function escape_string(str)
escape_string = trim(replace(str&"","'","''"))
end function
function urlencode(str)
urlencode=server.urlencode(trim(str&""))
urlencode=replace(urlencode,"%5F","_")
urlencode=replace(urlencode,"%2D","-")
urlencode=replace(urlencode,"%2E",".")
end function
function getsessionid()
if persistentcart<>"" AND isnumeric(persistentcart) then
if int(persistentcart)<=0 then
getsessionid=Session.SessionID
elseif request.cookies("ectcartcookie")<>"" then
getsessionid=replace(request.cookies("ectcartcookie"),"'","")
else
gotunique=FALSE
randomize
do while NOT gotunique
sequence = ""
for indgsid=0 to 25
sequence=sequence&getrndchar()
next
sSQL = "SELECT cartSessionID FROM cart WHERE cartSessionID='" & sequence & "'"
rs.Open sSQL,cnn,0,1
if rs.EOF then gotunique = TRUE
rs.Close
loop
response.cookies("ectcartcookie")=sequence
response.cookies("ectcartcookie").Expires = Date()+persistentcart
if request.servervariables("HTTPS")="on" then response.cookies("ectcartcookie").secure=TRUE
getsessionid=sequence
end if
else
getsessionid=Session.SessionID
end if
end function
function dohashpw(thepw)
if trim(thepw&"")="" then dohashpw="" else dohashpw=calcmd5("ECT IS BEST"&trim(thepw))
end function
sub updaterchecker()
Set rs = Server.CreateObject("ADODB.RecordSet")
Set cnn=Server.CreateObject("ADODB.Connection")
cnn.open sDSN
sSQL = "SELECT adminVersion,updLastCheck,updRecommended,updSecurity,updShouldUpd,adminStoreURL FROM admin WHERE adminID=1"
rs.Open sSQL,cnn,0,1
storeVersion = rs("adminVersion")
updLastCheck = rs("updLastCheck")
recommendedversion = rs("updRecommended")
securityrelease = rs("updSecurity")
shouldupdate = rs("updShouldUpd")
storeURL = rs("adminStoreURL")
rs.Close
checkupdates = (date()-updLastCheck>=3)
cnn.Close
set cnn=nothing
set rs=nothing
if disableupdatechecker then
checkupdates=FALSE
else
%>
<% end if ' disableupdatechecker
%>
<%=replace(storeVersion, " v", " ASP v")%>
<%
if disableupdatechecker then
response.write "Auto update feature disabled! " & yyChkMan & " " & yyClkHer & " "
elseif checkupdates then
response.write yyChkNew & "..."
else
if shouldupdate then
response.write "
<%
end sub
if SESSION("httpreferer")="" AND request.servervariables("HTTP_REFERER")<>"" then
httpreferer = left(request.servervariables("HTTP_REFERER"), 255)
if len(httpreferer)>=255 then
andpos = instrrev(httpreferer, "&")
if andpos > 0 then httpreferer = left(httpreferer, andpos-1)
end if
SESSION("httpreferer")=httpreferer
end if
%>
Three Rivers R.V., Inc, is your Midwest
source for RV storage, boat storage, trailer storage,
golf cart sales, RV rental, propane gas sales, and RV
support services; located in Illinois just 20 minutes
from St. Louis.
Three Rivers
was formed due to the insufficient amount of RV and boat
storage space, specifically indoor, in the Riverbend area.
Since then, Three Rivers has expanded to offer Golf Cart
Sales and Services, Uhaul services, and most recently, RV
Rental.
We are driven by one
guiding principle, to provide services with integrity
to our customers. Come out and see us. We think you will
be happy that you did.