VP-ASP :: Shopping Cart Software

Shopping Cart Software Solutions for anywhere in the World

US/Canada(Toll Free): +1 888 587 2278
Europe/UK: +44 (020) 7193 9408
Australia/New Zealand: +61 3 9016 4497
Live Chat

VP-ASP 7.0 Fixes

VP-ASP 7.0 Fixes

VP-ASPThis page will list all known bugs a fix if available. Please refer back to this page if you have any issues before posting in the helpdesk.

Please make backups of your files before applying any of the following updates.

Many of the following fixes are most likely aleady installed in your package. Please check the date of your version in shop$version.asp and compare against the fixes date below.

Dates earlier than your version will have fixes up to date applied and can be ignored..

Issue # Date Issue Finename Resolved
1. 12/10/2009 Admin : Directory & Uploaded Image URL populated wrongly if VPASP installed at Root folder admin/uploadsub.asp & admin/shopa_uploadpop.asp Yes
2. 12/10/2009, 12/22/2009 There is   displaying at front pages shoptranslate.asp Yes
3. 12/10/2009 Each item unit price and total price do not showing at cart shopformatorder.asp Yes
4. 12/11/2009 Shipping method may bypass to the payment page shopcustomer.asp Yes
5. 12/11/2009 Blogs, News, Content tables not created with MS SQL 2000 Database Yes
6. 12/11/2009 Installation / Upgrade Wizard : Setup successfully but Cart do not setup properly Packages Yes
7. 12/11/2009 While using Australia Pos Module to checkout, there is the error at shopcustomer.asp shopcustomer.asp Yes
8. 12/11/2009 Multiple images does not swapped at product extended page. shopimageswatches.asp Yes
9. 12/12/2009 Broken link at customer service area for UPS Tracking. root\shopa_ups_track.asp, root\shopa_ups_track_license.asp, admin\shopa_ups_track.asp Yes
10. 12/12/2009 Front page message does not display if Home Page's Content's Image is empty. templates\yourtemplate\tmp_default.htm Yes
11. 12/13/2009 Ajax shipping not able to be selected if use Shipping Calculation Type : By Weight, By quantity, By Price Range, By Fixed, By Others, By Message shopshippingcalc.asp Yes
12. 12/13/2009 Display error message > Cannot locate shipping record, follow by a sql query if shipping by country not found shopshippingcalc.asp Yes
13. 12/14/2009 Display xprice0 value at minicart subtotal if subtotal is 0. shophpmgr.asp Yes
14. 12/15/2009 Error while generate front page random products with customer group privilege applied to product categories. shoprandomproducts.asp Yes
15. 12/16/2009 Error while adding products with features to cart. shopproductfeaturesprocess.asp Yes
16. 12/16/2009 Bulletin (created by HTML editor) at product description is not displaying at product listings pages. templates/yourowntemplates\css\layout.css, templates/yourowntemplates\css\shop700.css Yes
17. 12/16/2009 When set xblogsreviewsauthrequired to Yes and add a review to blogs, there is an error of "variable handleerror". shopblogsreviewlist.asp Yes
18. 12/16/2009 If set xblogsreviewsauthrequired to No, why my blog reviews does not displaying. shopblogsreviewadd.asp, shopblogslistings.asp, shopcms.asp Yes
19. 12/16/2009 When adding a blog review with mysql, there are empty record. shopmysqlsubs.asp Yes
20. 12/16/2009 When set xnewsreviewsauthrequired to Yes and add a review to news, there is an error of "variable handleerror". shopnewsreviewlist.asp Yes
21. 12/16/2009 If set xnewsreviewsauthrequired to No, why my news reviews does not displaying. shopnewsreviewadd.asp, shopnewslistings.asp, shopcms.asp Yes
22. 12/16/2009 When adding a news review with mysql, there are empty record. shopmysqlsubs.asp Yes
23. 12/16/2009 The installation not able to check with SQL Server Native connection. Package Yes
24. 12/16/2009 Duplicate Sub-categories while using Fly-out / Drop down at Side Categories. shopproductsubs.asp Yes
25. 12/17/2009 Side categories not able to be translated while using other languages with non-style categories. shopproductsubs.asp Yes
26. 12/17/2009 Show warnings at shopcustcontact.asp while using SSL. shopcustcontact.asp Yes
27. 12/19/2009 UPS Real Time does not work if shipping to UK. upsxmlrealinterface.asp Yes
28. 12/19/2009 Ajax shipping should get from ship country, but not billing country. shopajaxshippingzipcodecountry.asp Yes
29. 12/19/2009 The Blog / News detail page broken while using templates default-3cols (3 columns templates) shopcms.asp, shopproductsubs.asp Yes
30. 12/19/2009 While deleting Category at Page Manager editing page, it will redirect me to Error - "Unauthorize Admin" admin\shopa_removenewscategory.asp Yes
31. 12/21/2009 If sub-product inventory display type set to Quantity, it is still displaying main product's Quantity. If sub-product inventory display type set to Table, it is still displaying main product's Order Button. shopfileio.asp, shopproductinventory.asp, templates/yourowntemplates/tmp_productinvent.htm<, templates/yourowntemplates/tmp_product.htm, templates/yourowntemplates/tmp_bundledproduct.htm, templates/yourowntemplates/tmp_giftproduct.htm Yes
32. 12/21/2009 Displaying same results at page 2 at shopdisplayproducts.asp while using MSSQL 2005 and above shop$db.asp Yes
33. 12/21/2009 The price of product is still displaying if price is 0. shopfileio.asp Yes
34. 12/22/2009 Achor link is pointing incorrectly at Blog listings page. shopblogslistings.asp Yes
35. 12/22/2009 Achor link is pointing incorrectly at News listings page. shopnewslistings.asp Yes
36. 12/22/2009 Wrong validate message at admin blog edit page. admin/shopa_editblogs.asp Yes
37. 12/22/2009 Wrong validate message at admin news edit page. admin/shopa_editnews.asp Yes
38. 12/23/2009 Getting error while updating company information at installation - Field 'mycompany.faxnumber' cannot be a zero-length string. Access Database Yes
39. 12/23/2009 V700 not able to run properly if the cart is hosted with specific port. shop$db.asp Yes
40. 12/23/2009 When adding long comment at blog / news review with MsSQL Database, getting the SQL error. MsSQL Database Yes
41. 12/23/2009 If fill in Data with "Enter" key, the data should have a line break. shopfileio.asp Yes
42. 12/28/2009 If main category are being deleted from edit category page, the related product does not able to be shortlisted to the front store. shopproductsubs.asp, shopnewproductsub.asp, shoprandomproducts.asp Yes
43. 12/30/2009 SEO Dynamic Generator Error : Path not found, if directory name more than 247 charsacters. admin/shopa_generateseodynamicsubs.asp Yes
44. 12/30/2009 SEO Dyanmic products / blog / news not able to be browsed, if directory name is capital. admin/seotemplates/blogs-contentid.asp, admin/seotemplates/news-contentid.asp, admin/seotemplates/products-categoryid-catalogid.asp, admin/seotemplates/products-categoryid-hassub.asp, admin/seotemplates/products-categoryid.asp Yes
45. 12/30/2009 Display xprice0 value at view cart if cart is empty. shopcartformatdesign.asp Yes
46. 12/30/2009 No form tag closing at tell a friend tab. shoptellfriendpro.asp Yes
47. 12/30/2009 Error while set xcontentBoxHeadLinesOnly to No. shopcms.asp Yes
48. 12/30/2009 Issue with replacing every apostrophe with a quotation mark admin/admin$db.asp, shop$db.asp Yes
49. 12/30/2009 No function if using Image Button at shopcheckout.asp shop$db.asp Yes
50. 12/31/2009 Retriving records from database speed is slow. shop$db.asp, admin/admin$db.asp Yes
51. 12/31/2009 SEO Dynamic products / blog / news directory generated error if there is a space in front of cname, messagetype. admin/shopa_generateseodynamicsubs.asp Yes
52. 12/31/2009 SEO links generated error (front store) if directory name more than 247 characters. shopseosubs.asp Yes
53. 01/04/2010 SEO categories link not generated if there is no product under the category. admin/shopa_generateseodynamicsubs.asp Yes
54. 01/04/2010 Generate google product feed error while EAN applied. admin/shopa_googleproductfeed.asp Yes
55. 01/04/2010 There is a sql error while using shopquery.asp to retrieve front store product listings. shop$db.asp, admin/admin$db.asp Yes
56. 01/05/2010 Bad file name while generating SEO Dyanmic. admin/shopa_generateseodynamicsubs.asp, shopseosubs2.asp Yes
57. 01/05/2010 Display wrong category name at shopdisplaycategories.asp and shopdisplayproducts.asp if SEO Dynamic enabled. shopdisplaycategories.asp, shopdisplayproducts.asp, shopseosubs.asp Yes
58. 01/05/2010 Changing currency at product extended page and customer page, direct back to wrong page. shop$db.asp Yes
59. 01/05/2010 If use more than 2 selectlists at shopexd.asp, there are duplicate select listings. shopproductfeaturesgenerate.asp Yes
60. 01/06/2010 Layout is unblance for each column at shopdisplaycategories.asp if category name is longer. shopdisplaycategories.asp Yes
61. 01/07/2010 Bad file name while generating SEO Dyanmic, because of the "Enter" key. admin/shopa_generateseodynamicsubs.asp, shopseosubs2.asp Yes
62. 01/08/2010 Top minicart is not updated after click order button at shopdisplayproducts.asp, if Xproductstayonpage set to Yes. shopaddtocart.asp Yes
63. 01/08/2010 When xproductstayonpage is set to Yes and order now is click on shopdisplayproducts.asp all products then show up instead of just the category you were on. shopdisplayproducts.asp, shopproductformat.asp, shopproductformat_template.asp Yes
64. 01/08/2010 SEO dynamic issue with & symbol. admin/shopa_generateseodynamicsubs.asp, shopseosubs2.asp Yes
65. 01/11/2010 If xsortproducts = catalogid, the shopdisplayproducts.asp will be redirect to error page. shopproductcreatesql.asp Yes
66. 01/11/2010 Product highlight not able to be displaying if xfrontpagevalue not equal to RANDOM. shoprandomproducts.asp Yes
67. 01/11/2010 Search engines not able to crawl the URL links. shopcms.asp, templates\yourtemplate\tmp_blogs.htm, shopfileio.asp, templates\yourtemplate\tmp_featuredproducts.htm, templates\yourtemplate\tmp_frontpage.htm, templates\yourtemplate\tmp_newproductsfrontpage.htm, templates\yourtemplate\tmp_productthumbnail.htm, templates\yourtemplate\tmp_proexdalsobought.htm, templates\yourtemplate\tmp_proexdalsoboughtinvent.htm, templates\yourtemplate\tmp_proexdalsoboughtinventnoimage.htm, templates\yourtemplate\tmp_proexdalsoboughtnoimage.htm, templates\yourtemplate\tmp_proexdcroselling.htm, templates\yourtemplate\tmp_proexdcrosellinginvent.htm, templates\yourtemplate\tmp_proexdcrosellinginventnoimage.htm, templates\yourtemplate\tmp_proexdcrosellingnoimage.htm, templates\yourtemplate\tmp_proexddisplay.htm, templates\yourtemplate\tmp_proexddisplayinvent.htm, templates\yourtemplate\tmp_proexdprocat.htm, templates\yourtemplate\tmp_proexdprocatinvent.htm, templates\yourtemplate\tmp_proexdprocatinventnoimage.htm, templates\yourtemplate\tmp_proexdprocatnoimage.htm, templates\yourtemplate\tmp_subproductformat.htm, templates\yourtemplate\tmp_topsellers.htm Yes
68. 01/12/2010 shopquery.asp is displaying those items without price if using cprice. shopproductcreatesql.asp Yes
69. 01/12/2010 Generating error if double slash passing to dyninclude function. admin/adminheaders.asp, shopheaders.asp Yes
70. 01/12/2010 Total record count is wrong at shopdisplayproducts.asp if product assigned to multiple categories. shop$db.asp, admin/admin$db.asp Yes
71. 01/13/2010 Simple mode in admin area is not working properly. admin/shopa_editdisplay.asp Yes
72. 01/13/2010 ShopClosed caught in a redirect loop. shop$db.asp, admin/admin$db.asp Yes
73. 01/14/2010 SEO dynamic link issue at shopdisplayproducts.asp if xextendedpopup set to Yes. shopproductformat.asp Yes
74. 01/14/2010 Not able to log into admin page if xlogonrequired set to Yes. admin/admin$db.asp Yes
75. 01/15/2010 View order details and editing shipping in admin control panel is not working with the packages dated 2010.01.13 or later. admin/admin$db.asp, shopupsincludes.asp, shopformatorder.asp Yes
76. 01/15/2010 Error whle display new products (not in random) at front page. shopnewproductsubs.asp Yes
77. 01/15/2010 Edit product feature cannot update "Feature Required" field using MySQL. admin/shopa_featureedit.asp Yes
78. 01/15/2010 Errors loading shopa_featureedit.asp and shopa_displayrelfeatureprod.asp while using MySQL3.51. admin/shopa_featureedit.asp, admin/shopa_displayrelfeatureprod.asp Yes
79. 01/15/2010 Front page affliate Rep Report - List all Reps errors. admin/admin$db.asp, shop$db.asp Yes
80. 01/15/2010 Missing images at front page affliate link reports - orders & summary. Packages Yes
81. 01/15/2010 Front page affliate link reports - orders & summary: affliate # link to admin wrongly. shopaffreportsubs.asp Yes
82. 01/17/2010 Product tabs does not working at product extended page while xprocatdisplay is enabled and retriving values from ProProCatDisplayCategoryID (products table) and CatProCatDisplayCategoryID (categories table). shopprocat.asp Yes
83. 01/17/2010 Errors while generating Google Site Map & Google Product Feed with the packages dated 2010.01.11 or later. SEO Tool Module Yes
84. 01/18/2010 If checkout with paypal & xallowinvalidcards set to No, vpasp generate the Variable is undefined error. shopvalidatecreditcards.asp Yes
85. 01/18/2010 Results of page 2 onwards are displaying wrongly with the packages dated 2010.01.12 later. admin/admin$db.asp, shop$db.asp Yes
86. 01/18/2010 Ajax does not running after click "Add Category" at "Edit Product Page" and main category is empty. admin/shopa_addproduct.asp Yes
87. 01/18/2010 "Edit Product Page" - If products.ccategory = 0, vpasp not able to update products.ccategory after click "Add Category" and "Delete Category". admin/shopa_procategory.asp Yes
88. 01/19/2010 "Add Record" to customer at admin control panel, the layout is broken. admin/shopa_editrecord.asp Yes
89. 01/19/2010 "Add Record" to customer at admin control panel not able to be updated. shopcustgrpsubs.asp Yes
90. 01/19/2010 If set xlogonrequired to Yes, customers not able to login to the shopping cart. shop$db.asp Yes
92. 01/20/2010 Breadcrumb is displaying wronlgy if SEO dynamic enabled and clicking directly from "Featured Products", "Top Sellers" shopexd.asp Yes
93. 01/20/2010 Generate Google Site Map produce incorrect xml file while using special charasters with SEO Dynamic. admin/shopgooglesitemapscreate.asp Yes
94. 01/20/2010 Layout Manager: Edit content box is not working if content with special charaters. admin/js/shophomepagemanagerfunctions.js, admin/shopa_hpmanagersubdetails.asp Yes
95. 01/21/2010 Problems with feature price not updated if more than 1 feature pricing within a product. shopupdatecartprices.asp, shopaddtocart.asp, shopsessionsubs.asp, shopsavecart.asp, shopproductfeaturesprocess.asp, shopproductfeatures.asp, shop$db.asp, admin/admin$db.asp Yes
96. 01/21/2010 xsortproducts : DESC options is not functioning if using MsSQL DB. shop$db.asp Yes
97. 01/22/2010 xprice0 issue displaying incorrectly at minicart sections, cart format sections. shophpmgr.asp, shopcartformatdesign.asp, shopfileio.asp Yes
98. 01/22/2010 Search result page produce error for mysql db, if strproductfields contaning xSearchSortField. shopproductcreatesql.asp Yes
99. 01/22/2010 Login to admin first, then browse and order feature product at front page within same browser, produce the error, after applied fix #95. admin/admin$db.asp Yes
100. 01/25/2010 Pontential bug at NavigateShowMiniCartCssStyled. shopproductsubs.asp Yes
101. 01/25/2010 Stop displaying of Categories in the dropdown for Category edit and Product edit pages if highercategoryid return -1. admin/shopa_addcategory.asp, admin/shopa_addproduct.asp Yes
102. 01/25/2010 Not able to save ' (appostrophe ) at feature edit page. admin/shopa_featureedit.asp Yes
103. 01/26/2010 Contents with html table displaying incorrectly (extra spaces) at shopcontent.asp. shopfileio.asp Yes
104. 01/26/2010 "Template not found" at front page, or admin login page produce scripts error if admin folder name has the same name with the 2nd level sub-folder name onwards. shopxmysite.asp, shop$db.asp, admin/adminxmysite.asp, admin/admin$db.asp, admin/editor/assetmanager/checkadmin.asp Yes
105. 01/26/2010 Missing logo at index.htm (generated file from Static HTML Generator). templates\yourtemplate\tmp_generateheader.htm Yes
106. 01/26/2010 PIN delivery does not work. shoppinnumbers.asp Yes
107. 01/26/2010 Buying gift certificates will cause an overflow error at shopthanks.asp. shopfileio.asp Yes
108. 01/26/2010 Error while display new products (not in random) at front page. - refer from #76 shopnewproductsub.asp Yes
109. 01/27/2010 Displaying wrongly related feature products at admin area. admin/shopa_featureedit.asp, admin/shopa_displayrelfeatureprod.asp Yes
110. 01/27/2010 Incorrect shipping when non-default currency chosen. Please refer to 154. Yes
111. 01/27/2010 Re-direct to wrong page after changing currency / language at shopdisplayproducts.asp and shopexd.asp while SEO dynamic is enabled. shopproductsubs2.asp, shoplanguagesubs.asp Yes
112. 01/27/2010 WYSWYG editor problems with html coding for the versions dated 2010.01.19 and later. admin/admin$db.asp Yes
113. 01/27/2010 PIN delivery does not work. shoppinnumbers.asp Yes
114. 01/27/2010 No space for PIN Number e-mail subject if failed PIN delivery. admin/shopa_pinorder.asp Yes
115. 01/27/2010 Delete an entire feature giving an error no shopa_featureedit.asp. admin/shopa_featureedit.asp Yes
116. 01/27/2010 Image not showing on View link on shopa_featureedit.asp admin/shopa_featureedit.asp Yes
117. 01/29/2010 V7 database template does not working. shopfileio.asp, admin/adminfileio.asp Yes
118. 01/29/2010 V7 does not working if using "Virtual Directory" shopfileio.asp, admin/adminfileio.asp Yes
119. 01/29/2010 Categories no link at shopexd.asp if SEO dynamic enabled. shopexd.asp Yes
120. 01/30/2010 Img alt tag's cname not translated at shopexd.asp. shopimageswatches.asp Yes
121. 01/31/2010 Error while display new products (not in random) at front page if directly use snippet code <%displaynewproducts "no"%> and no result shortlisted. shopnewproductsub.asp Yes
122. 02/02/2010 Front page error if there is no Alt Tag specified at Free Image. shophpmgr.asp Yes
123. 02/02/2010 Errors if enter special character at front store if using MySQL DB. shopmysqlsubs.asp Yes
124. 02/02/2010 While enable SEO dyanmic, and change language or currency at shopexd.asp, get the error "CatalogId is missing for extended description". shopseosubs.asp.asp Yes
125. 02/02/2010 Display "An error occured please restart shopping" if enter special character at front store. shopproductcreatesql.asp Yes
126. 02/02/2010 Errors if enter special character at customer login page. shop$db.asp Yes
127. 02/02/2010 Errors if passing special character parameter at shopcontent.asp. shopcontent.asp Yes
128. 02/02/2010 Errors if passing special character parameter at shopblogs.asp. shopblogs.asp Yes
129. 02/02/2010 Errors if passing special character parameter at shopnews.asp. shopnews.asp Yes
130. 02/03/2010 Contents with html table displaying incorrectly (extra spaces) at shopcontent.asp, after apply fix #103. shopfileio.asp Yes
131. 02/03/2010 Typo error at admin/shopa_addproduct.asp. admin/shopa_addproduct.asp Yes
132. 02/03/2010 Possible infinite loop at admin product edit page and category edit page after apply fix #101. admin/shopa_addcategory.asp, admin/shopa_addproduct.asp Yes
133. 02/03/2010 Errors if passing special character parameter at shopfiltering.asp. shopfiltering.asp Yes
134. 02/05/2010 News / Blogs side box should be sorted by latest to oldest. shopcms.asp Yes
135. 02/08/2010 V7 front page layout broken if using $sitepreview mode. shop$db.asp Yes
136. 02/08/2010 Not able to log into admin if using $sitepreview mode. admin/shopadmin.asp or renamed admin login page Yes
137. 02/08/2010 Tab at shopexd.asp should be default to first tab. shoprotabs.asp Yes
138. 02/10/2010 Inc. Tax and Exl. Tax should not be displaying at Product Extended Description page if that product is a "Tax Free" item. shopfileio.asp Yes
139. 02/10/2010 Duplicate results at shopdisplayproduct.asp if using MsSQL and product assigned to multiple categories. shop$db.asp Yes
140. 02/11/2010 Customer Group privilege not functioning with mysql database. shopcustgrpsubs.asp Yes
141. 02/11/2010 Product description page error when using product matching. shopexd.asp Yes
142. 02/22/2010 Category name contain & not displaying at header at shopdisplayproducts.asp for plus or lower versions. shopdisplayproducts.asp Yes
143. 02/23/2010 Lanauge Reset at admin control panel, link to a page not found after the fix dated 01/27/2010. shoplanguagesubs.asp Yes
144. 02/25/2010 Features not adding to cart if using shopkitconfig.asp. shopkitaddtocart.asp Yes
145. 02/26/2010 SEO dynamic is not working if language LangCommonYes does not equal to "Yes". admin/shopa_generateseodynamicsubs.asp Yes
146. 02/26/2010 Edit translate product page not retrieving translated value of meta title, meta word, meta description from translateproducts table. admin/shopa_edittranslateproducts.asp Yes
147. 03/02/2010 Customer need to try to log in twice if click "checkout" through minicart. shopcustomer.asp Yes
148. 03/02/2010 Infinitie login page looping if xssl value is non-ssl URL. shop$db.asp Yes
149. 03/08/2010 Fix can't open any more tables with sub categories issues. shopfileio.asp Yes
150. 03/16/2010 Infinity looping at front store with using sql DB after version dated 2010.03.15. shopproductsubs.asp Yes
151. 03/17/2010 Bug Fix: Admin not able to update through Html Editor if using browser Google Chrome. admin/admin$db.asp Yes
152. 03/18/2010 Shipping by Weight calculate incorrectly. shopshippingcalc.asp Yes
153. 03/18/2010 UPS Shipping not passing correctly to shopcreateorder.asp. shopcustomer.asp Yes
154. 03/18/2010 Currency convesion calculate wrongly at shipping. shopcustomer.asp Yes
155. 03/23/2010 Retrieve from prodcategories table "hang". shopproductcreatesql.asp Yes
156. 03/23/2010 Shipping calculation extra blackets after versions dated 2010.03.15. shopshippingcalc.asp Yes
157. 03/25/2010 Cat Extra Include not show with SEO Dynamic Product. shopreadfile.asp Yes
158. 03/30/2010 Error while using LoadContainer for search component. shophpmgr.asp Yes
159. 04/12/2010 Same description under section "Customers who bought this item also bought" at shopaddtocart.asp shopfileio.asp Yes
160. 04/22/2010 Using SQL Server, Blog/News review are always direct to Error page. shopblogsreviewlist.asp, shopnewsreviewlist.asp Yes
161. 04/22/2010 Wrong Paypalpro UK country code. paypalprodpshoppayment.asp Yes
162. 05/14/2010 Apostrophe issue with customer last name. shopcustregister.asp, shop$db.asp Yes
163. 05/14/2010 Bug Fix: Free shipping with product is not working with shipping addon. shopcustomer.asp, shopshippingcalc.asp Yes

1a. uploadsub.asp

Locate around line 49:

Below

RealFoldername = getactualfileslocation(request.ServerVariables("SCRIPT_NAME"), "", "", "", "no")

Add :

if RealFoldername = "/" then RealFoldername = ""

Now locate around line 57:

Below

RealFoldername = getactualfileslocation(request.ServerVariables("SCRIPT_NAME"), "", "", "", "no")

Add :

if RealFoldername = "/" then RealFoldername = ""

Save and test.

1b. shopa_uploadpop.asp

Locate around line 227:

Below

Directory = "/"& RealSubFolderNameOnlyWithoutAdmin(request.ServerVariables("SCRIPT_NAME")) & "/" & GetConfig("xuploaddirectory")

Add :

Directory = replace(Directory,"//","/")

Save and test.

2. shoptranslate.asp

Locate around line 9:

Add new routine

'replacing any html tag that is effected by &
sub replacehtmlvalue(passvalue)
passvalue=replace(passvalue,"©","&copy;")
passvalue=replace(passvalue,"&","&amp;")
passvalue=replace(passvalue,"&amp;nbsp;","&nbsp;")
passvalue=replace(passvalue,"&amp;amp;","&amp;")
passvalue=replace(passvalue,"&amp;copy;","&copy;")
passvalue=replace(passvalue,"&amp;gt;","&gt;")
passvalue=replace(passvalue,"&amp;lt;","&lt;")
passvalue=replace(passvalue,"&amp;pound;","&pound;")
passvalue=replace(passvalue,"&amp;reg;","&reg;")
passvalue=replace(passvalue,"&amp;#8482;","&#8482;")
passvalue=replace(passvalue,"&amp;yen;","&yen;")
passvalue=replace(passvalue,"&amp;#8364;","&#8364;")
passvalue=replace(passvalue,"&amp;#8220;","&#8220;")
passvalue=replace(passvalue,"&amp;#8221;","&#8221;")
passvalue=replace(passvalue,"&amp;#8212;","&#8212;")
passvalue=replace(passvalue,"&amp;cent;","&cent;")
passvalue=replace(passvalue,"&amp;uml;","&uml;")
passvalue=replace(passvalue,"&amp;laquo;","&laquo;")
passvalue=replace(passvalue,"&amp;deg;","&deg;")
passvalue=replace(passvalue,"&amp;plusmn;","&plusmn;")
passvalue=replace(passvalue,"&amp;micro;","&micro;")
passvalue=replace(passvalue,"&amp;para;","&para;")
passvalue=replace(passvalue,"&amp;middot;","&middot;")
passvalue=replace(passvalue,"&amp;cedil;","&cedil;")
passvalue=replace(passvalue,"&amp;raquo;","&raquo;")
passvalue=replace(passvalue,"&amp;Oslash;","&Oslash;")
passvalue=replace(passvalue,"&amp;szlig;","&szlig;")
passvalue=replace(passvalue,"&amp;divide;","&divide;")
passvalue=replace(passvalue,"&amp;oslash;","&oslash;")
passvalue=replace(passvalue,"&amp;#8218;","&#8218;")
passvalue=replace(passvalue,"&amp;#402;","&#402;")
passvalue=replace(passvalue,"&amp;#8222;","&#8222;")
passvalue=replace(passvalue,"&amp;#710;","&#710;")
passvalue=replace(passvalue,"&amp;#8240;","&#8240;")
passvalue=replace(passvalue,"&amp;#8249;","&#8249;")
passvalue=replace(passvalue,"&amp;#8216;","&#8216;")
passvalue=replace(passvalue,"&amp;#8217;","&#8217;")
passvalue=replace(passvalue,"&amp;#8226;","&#8226;")
passvalue=replace(passvalue,"&amp;#8211;","&#8211;")
passvalue=replace(passvalue,"&amp;#732;","&#732;")
passvalue=replace(passvalue,"&amp;#8250;","&#8250;")
passvalue=replace(passvalue,"&amp;euro;","&euro;")
end sub

Locate Line 62: within routine sub TranslateLanguage

Modify

newvalue=replace(newvalue,"©","&copy;")
newvalue=replace(newvalue,"&","&")
newvalue=replace(newvalue,"&amp;nbsp;","&nbsp;")
newvalue=replace(newvalue,"&amp;amp;","&amp;")
newvalue=replace(newvalue,"&amp;copy;","&copy;")
newvalue=replace(newvalue,"&amp;gt;","&gt;")
newvalue=replace(newvalue,"&amp;lt;","&lt;")

to

replacehtmlvalue newvalue

Locate Line 138: within routine sub TranslateLanguage

Modify

newvalue=replace(newvalue,"©","&copy;")
newvalue=replace(newvalue,"&","&")
newvalue=replace(newvalue,"&amp;nbsp;","&nbsp;")
newvalue=replace(newvalue,"&amp;amp;","&amp;")
newvalue=replace(newvalue,"&amp;copy;","&copy;")
newvalue=replace(newvalue,"&amp;gt;","&gt;")
newvalue=replace(newvalue,"&amp;lt;","&lt;")

to

replacehtmlvalue newvalue

Save and test.

3. shopformatorder.asp

Locate around line 359:

Modify

if items("bundleparentid") = 0 then

to

if items("bundleparentid") = 0 or isnull(items("bundleparentid")) or trim(items("bundleparentid")) = "" then

Save and test.

4. shopcustomer.asp

Locate around line 345:

Modify

if getconfig("xshippingselection ") = "Yes" then

to

if CheckNonShippingItems = false and getconfig("xshippingselection") = "Yes" then

Save and test.

Set xshippingselection to Yes.

5. Table Blogs, News, Content

Please re-create Blogs, News, Content tables with the following Creation SQL Script at SQL 2K Manager Console

Blogs

create table [dbo].[blogs] (
[blogsid] [int] identity (1, 1) not null ,
[messagetype] [varchar] (100) null,
[headline] [varchar] (100) null,
[blogsimage] [varchar] (255) null,
[hide] [bit] null,
[template] [varchar] (255) null,
[blogslanguage] [varchar] (50) null,
[other1] [varchar] (255) null,
[other2] [varchar] (255) null,
[other3] [varchar] (255) null,
[loggedin] [bit] null,
[impressions] [float] null,
[cdateadded] [Datetime] null,
[cdateupdated] [Datetime] null,
[fullname] [varchar] (255) null,
[contactid] [varchar] (255) null,
[contentgroups] [varchar] (255) null,
[excontentgroups] [varchar] (255) null,
[showonbox] [bit] null,
[cBlogsStartDate] [Datetime] null,
[cBlogsEndDate] [Datetime] null,
[showonhomepage] [bit] null,
[archive] [bit] null,
[metatitle] [varchar] (255) null,
[smFrequency] [varchar] (255) null,
[smPriority] [varchar] (255) null,
[gsmincluded] [varchar] (10) null,
[metakeywords] [text] null,
[metadescription] [text] null,
[message] [text] null,
[userid] [varchar] (50) null
) on [primary];
alter table [dbo].[blogs] with nocheck add constraint [pk_blogs] primary key nonclustered ([blogsid]) on [primary];

News

create table [dbo].[news] (
[newsid] [int] identity (1, 1) not null,
[messagetype] [varchar] (100) null,
[headline] [varchar] (100) null,
[newsimage] [varchar] (255) null,
[hide] [bit] null,
[template] [varchar] (255) null,
[newslanguage] [varchar] (50) null,
[other1] [varchar] (255) null,
[other2] [varchar] (255) null,
[other3] [varchar] (255) null,
[loggedin] [bit] null,
[impressions] [float] null,
[cdateadded] [Datetime] null,
[cdateupdated] [Datetime] null,
[fullname] [varchar] (255) null,
[contactid] [varchar] (255) null,
[contentgroups] [varchar] (255) null,
[excontentgroups] [varchar] (255) null,
[showonbox] [bit] null,
[cNewsStartDate] [Datetime] null,
[cNewsEndDate] [Datetime] null,
[showonhomepage] [bit] null,
[archive] [bit] null,
[metatitle] [varchar] (255) null,
[smFrequency] [varchar] (255) null,
[smPriority] [varchar] (255) null,
[gsmincluded] [varchar] (10) null,
[metakeywords] [text] null,
[metadescription] [text] null,
[message] [text] null,
[userid] [varchar] (50) null
) on [primary]
;
alter table [dbo].[news] with nocheck add constraint [pk_news] primary key nonclustered ([newsid]) on [primary];

News

create table [dbo].[content] (
[contentid] [int] identity (1, 1) not null,
[messagetype] [varchar] (100) null,
[contentimage] [varchar] (255) null,
[hide] [bit] null,
[template] [varchar] (255) null,
[contentlanguage] [varchar] (50) null,
[other1] [varchar] (255) null,
[other2] [varchar] (255) null,
[other3] [varchar] (255) null,
[loggedin] [bit] null,
[impressions] [int] null,
[cdateadded] [datetime] null,
[cdateupdated] [datetime] null,
[homepage] [bit] null,
[fullname] [varchar] (255) null,
[contactid] [varchar] (255) null,
[contentgroups] [varchar] (255) null,
[excontentgroups] [varchar] (255) null,
[showonbox] [bit] null,
[nurllink] varchar(255) null,
[ncategoryid] [varchar] (50) null,
[cNewsStartDate] [datetime] null,
[cNewsEndDate] [datetime] null,
[metatitle] [varchar] (255) null,
[smFrequency] [varchar] (255) null,
[smPriority] [varchar] (255) null,
[gsmincluded] [varchar] (10) null,
[metakeywords] [text] null,
[metadescription] [text] null,
[message] [text] null,
[message2] [text] null,
[userid] [varchar] (50) null
) on [primary];
alter table [dbo].[content] with nocheck add
constraint [df_content_impressions] default (0) for [impressions],
constraint [df_content_cdateadded] default (getdate()) for [cdateadded],
constraint [pk_content] primary key nonclustered
(
[contentid]
) on [primary];

6 Installation / Upgrade Packgages

1. Please re-download the packages from http://www.vpasp.com/

2. Set the correct folder permissions

3. Re-run Installation / Upgrade Wizard

7. shopcustomer.asp

Locate around line 213:

Modify

if getsess("smprice") = 0 then

to

if cstr(getsess("smprice")) = "0" then

Save and test.

8. shopimageswatches.asp

Locate around line 22:

Below if not swatchrs.eof then

Add

GenerateSwapScript

Save and test.

9. Broken UPS Tracking Link

1. Please re-download the packages from http://www.vpasp.com/

2. Copy root\shopa_ups_track.asp and root\shopa_ups_track_license.asp to cart root folder

3. Copy admin\shopa_ups_track.asp to cart admin folder

10. templates\yourtemplate\tmp_default.htm

Locate around line 6:

Move [translate message2]

Below $ <img src="[ContentImage]" align="right" alt="" class="image" />

Save and test.

11. shopshippingcalc.asp

Locate around line 247: within routine sub HandleByWeight

Comment SetSess "smprice", 0 to 'SetSess "smprice", 0

Locate around line 316: within routine sub HandleByQuantity

Comment SetSess "smprice", 0 to 'SetSess "smprice", 0

Locate around line 368: within routine sub HandleByPriceRange

Comment SetSess "smprice", 0 to 'SetSess "smprice", 0

Locate around line 397: within routine sub HandleByPriceRange

Modify SetSess "smprice", 0 to SetSess "smprice", ""

Locate around line 484: within routine sub HandleByFixed

Comment SetSess "smprice", 0 to 'SetSess "smprice", 0

Locate around line 497: within routine sub HandlebyOther

Comment SetSess "smprice", 0 to 'SetSess "smprice", 0

Locate around line 644: within routine sub HandleByMessage

Comment SetSess "smprice", 0 to 'SetSess "smprice", 0

Save and test.

12. shopshippingcalc.asp

Locate around line 718: within routine sub AddShippingCountry

Comment

HandleShippingError tempsql

to

'HandleShippingError tempsql

Save and test.

13. shophpmgr.asp

Locate around line 1196: within routine sub getminicartsectionhtml2

Modify

htmlwrite shopformatcurrency(getsess("OrderTotal"),GetConfig("xdecimalpoint"))

to

if getsess("CartCount") > 0 then
htmlwrite shopformatcurrency(getsess("OrderTotal"),GetConfig("xdecimalpoint"))
else
if GetSess("Newcurrencysymbol")<>"" then
htmlwrite GetSess("Newcurrencysymbol") & "0.00"
elseif GetConfig("XCurrencySymbol") <> "" then
htmlwrite GetConfig("XCurrencySymbol") & "0.00"
else
htmlwrite "$" & "0.00"
end if
end if

Locate around line 1351: within routine sub getminicartsectionhtml

Modify

htmlwrite shopformatcurrency(getsess("OrderTotal"),GetConfig("xdecimalpoint")) & "</span>"

to

if getsess("CartCount") > 0 then
htmlwrite shopformatcurrency(getsess("OrderTotal"),GetConfig("xdecimalpoint")) & "</span>"
else
if GetSess("Newcurrencysymbol")<>"" then
htmlwrite GetSess("Newcurrencysymbol") & "0.00" & "</span>"
elseif GetConfig("XCurrencySymbol") <> "" then
htmlwrite GetConfig("XCurrencySymbol") & "0.00" & "</span>"
else
htmlwrite "$" & "0.00" & "</span>"
end if
end if

Save and test.

14. shoprandomproducts.asp

Locate around line 201: within routine sub GenerateFrontpagesql

Modify

sql = sql & GenerateCustomerMatchSQL ("c.customermatch","c.excustomermatch","c.loggedin""and")

to

sql = sql & GenerateCustomerMatchSQL ("c.customermatch","c.excustomermatch","c.loggedin","and")

Save and test.

15. shopproductfeaturesprocess.asp

Locate around line 287: within routine sub VerifyFeaturesSelected

Above

maxfeatures = ubound(farray) + 1

Add

farray = Split(strFeatures, ",") 'get feature numbers

Save and test.

16a. templates\yourowntemplates\css\layout.css

Locate around line 991: within class #main .main-product ul

Modify the class to

#main .main-product ul {
text-align:left;
}

Locate around line 994: within class #main .main-product li

Remove

#main .main-product li {
display:block;
float: left;
margin: 0;
padding: 0;
}

Locate around line 995: within class #main .main-product li div

Remove

#main .main-product li div {
padding: 5px;
}

Save and test.

16b. templates\yourowntemplates\css\shop700.css

Move to the new line at the end of the file.

Add

#contentpage ul li{
margin-bottom:5px;
text-indent:-16px;
list-style:inside;
margin-left:-20px;
}

#contentpage li{
margin-bottom:5px;
text-indent:-16px;
list-style:inside;
margin-left:16px;
}

.thumbnail_img img{
width:auto !important;
height:40px !important;
}

#main .main-product .productdesc ul li{
margin-bottom:5px;
text-indent:-16px;
list-style:inside;
margin-left:-20px;
}

#main .main-product .productdesc li{
margin-bottom:5px;
margin-top:5px;
text-indent:-16px;
list-style:inside;
margin-left:16px;
}

#productexd .productdesc ul li{
margin-bottom:5px;
text-indent:-16px;
list-style:inside;
margin-left:-20px;
}

#productexd .productdesc li{
margin-bottom:5px;
margin-top:5px;
text-indent:-16px;
list-style:inside;
margin-left:16px;
}

Save and test.

17. shopblogsreviewlist.asp

Locate around line 113: within routine sub ReviewFormatRow

Modify

HandleError SError

to

if trim(SError) <> "Yes" then ShopWriteError SError

Save and test.

18a. shopblogsreviewadd.asp

Locate around line 194: within routine sub UpdateRating

Modify

objrs("authorized")= getlang("LangcommonYes")

to

objrs("authorized")= "Yes"

Save and continue to 18b.

18b. shopblogslistings.asp

Locate around line 252: within routine sub Formatblogs

Modify

sql = sql & " and authorized = 1"

to

sql = sql & " and (authorized = '1' or authorized = 'Yes')"

Locate around line 254: within routine sub Formatblogs

Modify

sql = sql & " and authorized = TRUE"

to

sql = sql & " and (authorized = 'TRUE' or authorized = 'Yes')"

Save and continue to 18c.

18c. shopcms.asp

Locate around line 873: within routine sub Handle_BlogsReviewLinks

Modify

sql = sql & " and authorized = 1"

to

sql = sql & " and (authorized = '1' or authorized = 'Yes')"

Locate around line 875: within routine sub Handle_BlogsReviewLinks

Modify

sql = sql & " and authorized = TRUE"

to

sql = sql & " and (authorized = 'TRUE' or authorized = 'Yes')"

Save and test.

19. shopmysqlsubs.asp

Locate around line 1792: within routine sub mysqlupdateblogsrating

Modify

rsql = "SELECT id FROM blogsreviews where contentid=" & contentid

to

rsql = "SELECT id FROM blogsreviews where contentid=" & contentid & " order by id desc"

Locate around line 1809: within routine sub mysqlupdateblogsrating

Modify

mysqltextfield sqlo, "authorized", getlang("LangcommonYes")

to

mysqltextfield sqlo, "authorized", "Yes"

Save and test.

20. shopnewsreviewlist.asp

Locate around line 113: within routine sub ReviewFormatRow

Modify

HandleError SError

to

if trim(SError) <> "Yes" then ShopWriteError SError

Save and test.

21a. shopnewsreviewadd.asp

Locate around line 190: within routine sub UpdateRating

Modify

objrs("authorized")= getlang("LangcommonYes")

to

objrs("authorized")= "Yes"

Save and test.

21b. shopnewslistings.asp

Locate around line 252: within routine sub Formatblogs

Modify

sql = sql & " and authorized = 1"

to

sql = sql & " and (authorized = '1' or authorized = 'Yes')"

Locate around line 254: within routine sub Formatblogs

Modify

sql = sql & " and authorized = TRUE"

to

sql = sql & " and (authorized = 'TRUE' or authorized = 'Yes')"

Save and test.

21c. shopcms.asp

Locate around line 490: within routine sub Handle_NewsReviewLinks

Modify

sql = sql & " and authorized = 1"

to

sql = sql & " and (authorized = '1' or authorized = 'Yes')"

Locate around line 492: within routine sub Handle_NewsReviewLinks

Modify

sql = sql & " and authorized = TRUE"

to

sql = sql & " and (authorized = 'TRUE' or authorized = 'Yes')"

Save and test.

22. shopmysqlsubs.asp

Locate around line 1757: within routine sub mysqlupdatenewsrating

Modify

rsql = "SELECT id FROM newsreviews where contentid=" & contentid

to

rsql = "SELECT id FROM newsreviews where contentid=" & contentid & " order by id desc"

Locate around line 1774: within routine sub mysqlupdatenewsrating

Modify

mysqltextfield sqlo, "authorized", getlang("LangcommonYes")

to

mysqltextfield sqlo, "authorized", "Yes"

Save and test.

23. Package

open root\shop$db.asp

Locate around line 49

Modify const xSqlNative="No" to const xSqlNative="Yes"

open admin\admin$db.asp

Locate around line 52

Modify const xSqlNative="No" to const xSqlNative="Yes"

open installation/checkdbstatus.asp

Locate around line 70: within routine sub checksqlserver

Modify

strconn= "DRIVER={SQL Server}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword'

to

strconn= "DRIVER={SQL Native Client}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword

open installation/setupsub.asp

Locate around line 591: within routine sub shopopendatabase

Modify

strconn= "DRIVER={SQL Server}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword'

to

strconn= "DRIVER={SQL Native Client}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword

open upgrade/checkdbstatus.asp

Locate around line 70: within routine sub checksqlserver

Modify

strconn= "DRIVER={SQL Server}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword'

to

strconn= "DRIVER={SQL Native Client}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword

open installation/setupsub.asp

Locate around line 950: within routine sub shopopendatabase

Modify

strconn= "DRIVER={SQL Server}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword'

to

strconn= "DRIVER={SQL Native Client}; Server=" & varServerIP & "; Database=" & varDatabaseName & "; UID=" & varUserName & "; PWD=" & varPassword

Save and test.

24. shopproductsubs.asp

Locate around line 498: within routine sub generatesublinks

Above

plink = plink & "<ul class=""menulist"">"

Add

plink=""

Save and test.

25. shopproductsubs.asp

Locate around line 386: within routine sub NavigateShowCategories

Modify

name = TranslateLanguage(dbc, "categories", "catedescription", "categoryid", cid, name)

to

name = TranslateLanguage(dbc, "categories", "catdescription", "categoryid", cid, name)

Save and test.

26. shopcustcontact.asp

Locate around line 16: Below of the main comments.

Add

if lcase(request.ServerVariables("HTTPS")) = "on" then
response.Redirect "http://"& request.ServerVariables("HTTP_HOST") & xmysite2 &"/shopcustcontact.asp"
end if

Save and test.

27. upsxmlrealinterface.asp

Locate around line 327: within routine sub createxmlinternational.

Below

dim shiptocountry

Add

shiptocountry = ucase(getsess("SHIPCOUNTRY"))
if shiptocountry = "" then
shiptocountry = ucase(getsess("COUNTRY"))
end if
if shiptocountry = "UK" then
shiptocountry = "GB"
end if

Locate around line 378: within routine sub createxmlinternational.

Modify

xmlstring=xmlstring & "<CountryCode>" & getsess("country") & "</CountryCode>"

to

xmlstring=xmlstring & "<CountryCode>" & shiptocountry & "</CountryCode>"

Save and test.

28. shopajaxshippingzipcodecountry.asp

Locate around line 101.

Modify

if shiptocountry = "" then
shiptocountry = getsess("country")
else
setsess "country", shiptocountry
end if

to

if shiptocountry = "" then
shiptocountry = ucase(getsess("SHIPCOUNTRY"))
if shiptocountry = "" then
shiptocountry = ucase(getsess("COUNTRY"))
end if
else
setsess "shipcountry", shiptocountry
end if

Save and test.

29a. shopcms.asp

Locate around line 930: within routine sub displayblogscommentform

Modify

HtmlWrite tableRow & "<fieldset><label >" & getlang("LangMenuComment") & "</label>"

to

HtmlWrite "<fieldset><label>" & getlang("LangMenuComment") & "</label>"

Locate around line 546: within routine sub displaynewscommentform

Modify

HtmlWrite tableRow & "<fieldset><label >" & getlang("LangMenuComment") & "</label>"

to

HtmlWrite "<fieldset><label>" & getlang("LangMenuComment") & "</label>"

Save and test.

29b. shopproductsubs.asp

Locate around line 219: within routine sub CreateblogsnewsonepageRow

Remove

HtmlWrite "<td>"

Locate around line 224: within routine sub CreateblogsnewsonepageRow

Modify

GenHelpIcon(passhelpstring)
HtmlWrite tablecolumnend & tableRowend

to

if len(passhelpstring) > 0 then
htmlwrite "<span>"
GenHelpIcon(passhelpstring)
HtmlWrite "</span>"
end if

Save and test.

30. admin\shopa_removenewscategory.asp

Locate around line 12.

Modify

ShopCheckadmin "shopa_addproduct.asp"

to

ShopCheckadmin ""

Save and test.

31a. shopfileio.asp

Locate around line 476: within routine sub ProcessKeyword

Modify

Handle_SpecialCheckbox value,parsearray

to

Handle_SpecialCheckbox value,parsearray,parseRS

Locate around line 497: within routine sub ProcessKeyword

Modify

Add_Quantity "User",parsearray

to

Add_Quantity "User",parsearray,parseRS

Locate around line 505: within routine sub ProcessKeyword

Modify

Add_Button "User",parsearray

to

Add_Button "User",parsearray,parseRS

Locate around line 1160: within routine sub Handle_SpecialOrderButton

Modify

Add_Quantity "",parsearray

to

Add_Quantity "",parsearray,parseRS

Locate around line 1163: within routine sub Handle_SpecialOrderButton

Modify

Add_Quantity "",parsearray

to

Add_Quantity "",parsearray,parseRS

Locate around line 1172: within routine sub Handle_SpecialOrderButton

Modify

Add_Button "",parsearray

to

Add_Button "",parsearray,parseRS

Locate around line 1175: within routine sub Handle_SpecialOrderButton

Modify

Add_Button "",parsearray

to

Add_Button "",parsearray,parseRS

Locate around line 1211: within routine sub Handle_SpecialCheckBox

Modify

sub Handle_SpecialCheckBox (ivalue, parsearray)

to

sub Handle_SpecialCheckBox (ivalue, parsearray, parseRS)

Locate around line 1220: within routine sub Handle_SpecialCheckBox

Modify

Add_Quantity "", parsearray

to

Add_Quantity "",parsearray,parseRS

Locate around line 1222: within routine sub Handle_SpecialCheckBox

Modify

Add_Button "",parsearray

to

Add_Button "",parsearray,parseRS

Locate around line 1249: within routine sub Add_Button

Modify

sub Add_Button (ivalue, parsearray)

to

sub Add_Button (ivalue, parsearray, parseRS)

Locate around line 1260: within routine sub Add_Button

Above

dim mytext, mybutton, tableflag

Add

dim inventorycheck, pricedisplay, quantitydisplay, addflag
Checkinventoryproducts ivalue,parsearray,parseRS, inventorycheck, pricedisplay, quantitydisplay, inventoryoutofstock
addflag = false
if inventorycheck = true then
If pricedisplay = false then
addflag = false
else
addflag = true
end if
else
addflag = true
end if
if addflag then

Locate around line 1333: within routine sub Add_Button

Above

end sub

Add

end if

Locate around line 1336: within routine sub Add_Quantity

Modify

sub Add_Quantity (ivalue, parsearray)

to

sub Add_Quantity (ivalue, parsearray, parseRS)

Locate around line 1347: within routine sub Add_Quantity

Above

dim strminimumquantity, rc, tableflag, fieldtype

Add

dim inventorycheck, pricedisplay, quantitydisplay,addflag
Checkinventoryproducts ivalue,parsearray,parseRS, inventorycheck, pricedisplay, quantitydisplay, inventoryoutofstock
addflag = false
If inventorycheck=false then
addflag = true
else
If quantitydisplay=true then
addflag = true
end if
end if
if addflag = true then

Locate around line 1361: within routine sub Add_Quantity

Below

if rc> 0 then exit sub

Add

htmlwrite ""

Locate around line 1381: within routine sub Add_Quantity

Above

end sub

Add

end if

Locate around line 1914: within routine sub Handle_Inventoryproducts

Modify

FormatInventoryproducts dbc, parseRS

to

dim inventorycheck, pricedisplay, quantitydisplay
Checkinventoryproducts ivalue,parsearray,parseRS, inventorycheck, pricedisplay, quantitydisplay, inventoryoutofstock
If inventorycheck=true then
FormatInventoryproducts dbc, parseRS
end if

Save and test.

31b. shopproductinventory.asp

Locate around line 392: within routine sub FormatInventoryQuantity

Modify

response.write "
" & sselect

to

response.write "
" & sselect & "
"

Save and test.

31c. templates/yourowntemplates/tmp_productinvent.htm

Locate around line 51.

Remove

<label class="fontbold">[getlang langproductquantity]</label>

Save and test.

31c. templates/yourowntemplates/tmp_product.htm

Locate around line 51.

Remove

<label class="fontbold">[getlang langproductquantity]</label>

Save and test.

31c. templates/yourowntemplates/tmp_bundledproduct.htm

Locate around line 51.

Remove

<label class="fontbold">[getlang langproductquantity]</label>

Save and test.

31c. templates/yourowntemplates/tmp_giftproduct.htm

Locate around line 51.

Remove

<label class="fontbold">[getlang langproductquantity]</label>

Save and test.

32. shop$db.asp

Locate around line 750: within routine function GenPageSQL

Below

mysql2 = "select distinct top "& (clng(mypagesize) * clng(mypage)) &" "& tempfieldstring2 &" from (" & mysql2 & ") as queries "

Add

mysql2 = mysql2 & " where (RowNumber <= "& clng(mypage) * clng(mypagesize) &" AND RowNumber >= "& ((clng(mypage)-1) * clng(mypagesize)) + 1 &")"

Save and test.

33. shopfileio.asp

Locate around line 764: within routine sub DoSpecialFormating

Modify

value=ShopFormatCurrency(value,GetConfig("xdecimalpoint"))

to

if value > 0 then
value=ShopFormatCurrency(value,GetConfig("xdecimalpoint"))
else
value = ""
end if

Save and test.

34. shopblogslistings.asp

Locate around line 75: within routine sub Formatblogs

Modify

datedata = datedata & "<a href='#" & crs("blogsid") & "'><span class=""date"">" & formatdatetime(crs("cdateadded"), vbshortdate) & "</span> - <span class=""title"">" & translatelanguage(dbc, "blogs", "headline","blogsid", crs("blogsid"), crs("headline")) & "</span></a>" & "||"

to

if len(trim(request.ServerVariables("QUERY_STRING"))) > 0 then
datedata = datedata & "<a href='"& request.ServerVariables("SCRIPT_NAME") & "?" & request.ServerVariables("QUERY_STRING") & "#" & crs("blogsid") & "'><span class=""date"">" & formatdatetime(crs("cdateadded"), vbshortdate) & "</span> - <span class=""title"">" & translatelanguage(dbc, "blogs", "headline","blogsid", crs("blogsid"), crs("headline")) & "</span></a>" & "||"
else
datedata = datedata & "<a href='"& request.ServerVariables("SCRIPT_NAME") &"#" & crs("blogsid") & "'><span class=""date"">" & formatdatetime(crs("cdateadded"), vbshortdate) & "</span> - <span class=""title"">" & translatelanguage(dbc, "blogs", "headline","blogsid", crs("blogsid"), crs("headline")) & "</span></a>" & "||"
end if

Save and test.

35. shopnewslistings.asp

Locate around line 75: within routine sub FormatNews

Modify

datedata = datedata & "<a href='#" & crs("newsid") & "'><span class=""date"">" & formatdatetime(crs("cdateadded"), vbshortdate) & "</span> - <span class=""title"">" & translatelanguage(dbc, "news", "headline","newsid", crs("newsid"), crs("headline")) & "</span></a>" & "||"

to

if len(trim(request.ServerVariables("QUERY_STRING"))) > 0 then
datedata = datedata & "<a href='"& request.ServerVariables("SCRIPT_NAME") & "?" & request.ServerVariables("QUERY_STRING") & "#" & crs("newsid") & "'><span class=""date"">" & formatdatetime(crs("cdateadded"), vbshortdate) & "</span> - <span class=""title"">" & translatelanguage(dbc, "news", "headline","newsid", crs("newsid"), crs("headline")) & "</span></a>" & "||"
else
datedata = datedata & "<a href='"& request.ServerVariables("SCRIPT_NAME") &"#" & crs("newsid") & "'><span class=""date"">" & formatdatetime(crs("cdateadded"), vbshortdate) & "</span> - <span class=""title"">" & translatelanguage(dbc, "news", "headline","newsid", crs("newsid"), crs("headline")) & "</span></a>" & "||"
end if

Save and test.

36. admin/shopa_editblogs.asp

Locate around line 765: within routine sub ValidateData

Modify

sError = sError & GetLang("langcontentheader") & " " & getlang("LangCustRequired") & "<br />"

to

sError = sError & GetLang("langcontentbody") & " " & getlang("LangCustRequired") & "<br />"

Save and test.

37. admin/shopa_editnews.asp

Locate around line 765: within routine sub ValidateData

Modify

sError = sError & GetLang("langcontentheader") & " " & getlang("LangCustRequired") & "<br />"

to

sError = sError & GetLang("langcontentbody") & " " & getlang("LangCustRequired") & "<br />"

Save and test.

38. Access Database

Open Access Database

Locate mycompany table

Right click mycompany table, then choose Design View

Locate faxnumber field

Set Allow Zero Length to Yes

Save and test.

39. shop$db.asp

Locate around line 3573: within routine sub generatebaseurl

Replace sub generatebaseurl to

sub generatebaseurl
if lcase(request.ServerVariables("HTTPS")) = "on" then
if xssl <> "" then
htmlwrite "<base href="""& xssl &"/"" />"
else
if xmysite <> "" then
htmlwrite "<base href="""& xmysite &"/"" />"
else
htmlwrite "<base href=""https://"& request.ServerVariables("HTTP_HOST") & xmysite2 &"/"" />"
end if
end if
else
if xmysite <> "" then
htmlwrite "<base href="""& xmysite &"/"" />"
else
htmlwrite "<base href=""http://"& request.ServerVariables("HTTP_HOST") & xmysite2 &"/"" />"
end if
end if
end sub

Save and test.

40. MsSQL Database

Open MsSQL Database

Locate blogsreviews table

Change comment field type to TEXT type

Locate newsreviews table

Change comment field type to TEXT type

Save and test.

41. shopfileio.asp

Locate around line 360: within routine sub Substitute

Modify

workrecord = Newrecord

to

workrecord = replace(Newrecord,vbcrlf,"<br />")

Save and test.

42a. shopproductsubs.asp

Locate around line 2398: within routine sub NavigateFeaturedProducts

Modify

'strsql = "select *, p.cstock AS sumofnumitems from products p, prodcategories cc, categories c where "
'strsql = strsql & " cc.intCatalogId=p.CatalogId and cc.intcategoryid=c.categoryid and "

to

strsql = "select distinct p.catalogid,p.featuredflagorder, p.cstock AS sumofnumitems from products p, prodcategories cc, categories c where "
strsql = strsql & " cc.intCatalogId=p.CatalogId and cc.intcategoryid=c.categoryid and "

Locate around line 2400: within routine sub NavigateFeaturedProducts

Remove

strsql = "select *, p.cstock AS sumofnumitems from products p, categories c where "
strsql = strsql & " p.ccategory=c.categoryid and "

Save and test.

42b. shopnewproductsub.asp

Locate around line 76: within routine sub Generatesqlnewproducts

Modify

'sql = "select * from products p, prodcategories cc, categories c " & wherestr
'sql = sql & " and cc.intCatalogId=p.CatalogId and cc.intcategoryid=c.categoryid "

to

sql = "select distinct p.catalogid from products p, prodcategories cc, categories c " & wherestr
sql = sql & " and cc.intCatalogId=p.CatalogId and cc.intcategoryid=c.categoryid "

Locate around line 78: within routine sub Generatesqlnewproducts

Remove

sql = "select * from products p, categories c " & wherestr
sql = sql & " and c.categoryid=p.ccategory "

Save and test.

42c. shoprandomproducts.asp

Locate around line 174: within routine sub GenerateFrontpagesql

Modify

'sql = "select * from products p, prodcategories cc, categories c " & wherestr
'sql = sql & " and cc.intCatalogId=p.CatalogId and cc.intcategoryid=c.categoryid "

to

sql = "select distinct p.catalogid from products p, prodcategories cc, categories c " & wherestr
sql = sql & " and cc.intCatalogId=p.CatalogId and cc.intcategoryid=c.categoryid "

Locate around line 176: within routine sub GenerateFrontpagesql

Remove

sql = "select * from products p, categories c " & wherestr
sql = sql & " and c.categoryid=p.ccategory "

Save and test.

43. admin/shopa_generateseodynamicsubs.asp

Locate around line 10.

Below

dim createdirname

Add

dim directorylength
directorylength = 200

Locate around line 211: within routine sub generateseodynamiccategories

Modify

strDirToMake = strRootDir & "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname),directorylength)

Locate around line 220: within routine sub generateseodynamiccategories

Modify

strDirFull = strRootDir & strDirShort

to

strDirFull = strRootDir & left(strDirShort,directorylength)

Locate around line 287: within routine sub generateseodynamiccategoryhassub

Modify

strDirToMake = strRootDir & "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname),directorylength)

Locate around line 296: within routine sub generateseodynamiccategoryhassub

Modify

strDirFull = strRootDir & strDirShort

to

strDirFull = strRootDir & left(strDirShort,directorylength)

Locate around line 426: within routine sub generateseodynamiccategoryproducts

Modify

strDirToMake = strRootDir & "\" & FMTString2UrlDir(shortdirectoryname) & "\" & FMTString2UrlDir(shortdirectoryname2)

to

strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname) & "\" & FMTString2UrlDir(shortdirectoryname2),directorylength)

Locate around line 435: within routine sub generateseodynamiccategoryproducts

Modify

strDirFull = strRootDir & strDirShort

to

strDirFull = strRootDir & left(strDirShort,directorylength)

Locate around line 520: within routine sub generateseodynamicnews

Modify

strDirToMake = strRootDir & "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname),directorylength)

Locate around line 529: within routine sub generateseodynamicnews

Modify

strDirFull = strRootDir & strDirShort

to

strDirFull = strRootDir & left(strDirShort,directorylength)

Locate around line 615: within routine sub generateseodynamicblogs

Modify

strDirToMake = strRootDir & "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname),directorylength)

Locate around line 624: within routine sub generateseodynamicblogs

Modify

strDirFull = strRootDir & strDirShort

to

strDirFull = strRootDir & left(strDirShort,directorylength)

Save and test.

44a. admin/seotemplates/blogs-contentid.asp

Locate around line 28.

Modify

defaultasppos = instr(lcase(currenturl),"/"& createdirname &"")

to

defaultasppos = instr(lcase(currenturl),"/"& lcase(createdirname) &"")

Save and test.

44b. admin/seotemplates/news-contentid.asp

Locate around line 28.

Modify

defaultasppos = instr(lcase(currenturl),"/"& createdirname &"")

to

defaultasppos = instr(lcase(currenturl),"/"& lcase(createdirname) &"")

Save and test.

44c. admin/seotemplates/products-categoryid-catalogid.asp

Locate around line 29.

Modify

defaultasppos = instr(lcase(currenturl),"/"& createdirname &"")

to

defaultasppos = instr(lcase(currenturl),"/"& lcase(createdirname) &"")

Save and test.

44d. admin/seotemplates/products-categoryid-hassub.asp

Locate around line 30.

Modify

defaultasppos = instr(lcase(currenturl),"/"& createdirname &"")

to

defaultasppos = instr(lcase(currenturl),"/"& lcase(createdirname) &"")

Save and test.

44e. admin/seotemplates/products-categoryid.asp

Locate around line 30.

Modify

defaultasppos = instr(lcase(currenturl),"/"& createdirname &"")

to

defaultasppos = instr(lcase(currenturl),"/"& lcase(createdirname) &"")

Save and test.

45. shopcartformatdesign.asp

Locate around line 86: within routine sub CartFormatProductTotal

Modify

CartResponseWrite CartSubTotalRowRight & ShopFormatCurrency(cartisubtotal,xxdecimalpoint) & CartTotalRowRightend

to

if getsess("CartCount") > 0 then
CartResponseWrite CartSubTotalRowRight & ShopFormatCurrency(cartisubtotal,xxdecimalpoint) & CartTotalRowRightend
else
if GetSess("Newcurrencysymbol")<>"" then
CartResponseWrite CartSubTotalRowRight & GetSess("Newcurrencysymbol") & "0.00" & CartTotalRowRightend
elseif GetConfig("XCurrencySymbol") <> "" then
CartResponseWrite CartSubTotalRowRight & "0.00" & CartTotalRowRightend
else
CartResponseWrite CartSubTotalRowRight & "$" & "0.00" & CartTotalRowRightend
end if
end if

Locate around line 121: within routine sub CartFormatTotal

Modify

if getsess("CartCount") = 0 then

to

if carttotal = 0 then

Save and test.

46. shoptellfriendpro.asp

Locate around line 77: within routine sub DisplayForm

Modify

response.write "<form name=""form1"" method=""post"" action=""shoptellfriendpro.asp?id="& id &""""

to

htmlwrite "<form name=""form1"" method=""post"" action=""shoptellfriendpro.asp?id="& id &""">"

Save and test.

47. shopcms.asp

Locate around line 133: within routine sub showcontents

Modify

HtmlWrite "<li><a href="""& newsrs("nurllink") &""">"& translatelanguage(dbc, "content", "message","contentid", newsrs("contentid"), newsrs("message")) &"</a></li>"

to

HtmlWrite "<li><a href="""& newsrs("nurllink") &""">"& translatelanguage(dbc, "content", "message","contentid", newsrs("contentid"), getmessage("content","contentid",newsrs("contentid"))) &"</a></li>"

Save and test.

48a. admin/admin$db.asp

Locate around line 3308: within routine function CleanChars

Remove

newchars=replace(newchars,"'","''")

Save and test.

48b. shop$db.asp

Locate around line 3356: within routine function CleanChars

Remove

newchars=replace(newchars,"'","''")

Save and test.

49. shop$db.asp

Locate around line 2947: within routine sub ShopButton

Below

htmlwrite "<input type=""image"" class=""imgbtn"" name=""" & tempname & """ id=""" & tempname & """ src=""" & buttonimage & """ />"

Add

htmlwrite "<input type=""hidden"" name=""" & tempname & """ id=""" & tempname & """ value=""" & buttontext & """ />"

Save and test.

50a. shop$db.asp

Locate around line 780: within function GetMaxPages

Replace Whole function GetMaxPages

to

function GetMaxPages (mysql,mypagesize)
if len(mysql) <= 0 then
GetMaxPages = 1
exit function
end if

dim mysql3,countrs,countpos,frompos,counttotal,maxpage,frompos2
dim tempsql
tempsql = mysql
frompos = instr(lcase(tempsql),"order by ")
if frompos > 0 then
tempsql = mid(tempsql,1,frompos - 1)
end if
tempsql = replace(tempsql,";","")
mysql3 = "select count(*) as reccnt from ("& tempsql &") as t "
Set countrs = Server.CreateObject("ADODB.Recordset")
countrs.open mysql3, dbc, adOpenDynamic, adLockOptimistic
if not countrs.eof then
counttotal = countrs("reccnt")
end if

if clng(counttotal) mod clng(mypagesize) = 0 then
maxpage = int(clng(counttotal) / clng(mypagesize))
else
maxpage = int(clng(counttotal) / clng(mypagesize)) + 1
end if
if maxpage <= 0 then maxpage = 1
GetMaxPages = maxpage
end function

Save and test.

50b. admin/admin$db.asp

Locate around line 752: within function GetMaxPages

Replace Whole function GetMaxPages

to

function GetMaxPages (mysql,mypagesize)
if len(mysql) <= 0 then
GetMaxPages = 1
exit function
end if

dim mysql3,countrs,countpos,frompos,counttotal,maxpage,frompos2
dim tempsql
tempsql = mysql
frompos = instr(lcase(tempsql),"order by ")
if frompos > 0 then
tempsql = mid(tempsql,1,frompos - 1)
end if
tempsql = replace(tempsql,";","")
mysql3 = "select count(*) as reccnt from ("& tempsql &") as t "
Set countrs = Server.CreateObject("ADODB.Recordset")
countrs.open mysql3, dbc, adOpenDynamic, adLockOptimistic
if not countrs.eof then
counttotal = countrs("reccnt")
end if

if clng(counttotal) mod clng(mypagesize) = 0 then
maxpage = int(clng(counttotal) / clng(mypagesize))
else
maxpage = int(clng(counttotal) / clng(mypagesize)) + 1
end if
if maxpage <= 0 then maxpage = 1
GetMaxPages = maxpage
end function

Save and test.

51. admin/shopa_generateseodynamicsubs.asp

Locate around line 286: within routine sub generateseodynamiccategoryhassub

Modify

shortdirectoryname = categoryid & "-" & categoryname
strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname),directorylength)

to

shortdirectoryname = categoryid & "-" & FMTString2UrlDir(categoryname)
strDirToMake = strRootDir & "\" & left(shortdirectoryname,directorylength)

Locate around line 295: within routine sub generateseodynamiccategoryhassub

Modify

strDirShort = "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirShort = "\" & shortdirectoryname

Locate around line 390: within routine sub generateseodynamiccategoryproducts

Modify

shortdirectoryname = categoryid & "-" & categoryname
strDirToMake = strRootDir & "\" & FMTString2UrlDir(shortdirectoryname)

to

shortdirectoryname = categoryid & "-" & FMTString2UrlDir(categoryname)
strDirToMake = strRootDir & "\" & shortdirectoryname

Locate around line 411: within routine sub generateseodynamiccategoryproducts

Modify

strDirShort = "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirShort = "\" & shortdirectoryname

Locate around line 425: within routine sub generateseodynamiccategoryproducts

Modify

shortdirectoryname2 = catalogid & "-" & productfield
strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname) & "\" & FMTString2UrlDir(shortdirectoryname2),directorylength)

to

shortdirectoryname2 = catalogid & "-" & FMTString2UrlDir(productfield)
strDirToMake = strRootDir & "\" & left(shortdirectoryname & "\" & shortdirectoryname2,directorylength)

Locate around line 434: within routine sub generateseodynamiccategoryproducts

Modify

strDirShort = "\" & FMTString2UrlDir(shortdirectoryname) & "\" & FMTString2UrlDir(shortdirectoryname2)

to

strDirShort = "\" & shortdirectoryname & "\" & shortdirectoryname2

Locate around line 519: within routine sub generateseodynamicnews

Modify

shortdirectoryname = messagetype
strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname),directorylength)

to

shortdirectoryname = FMTString2UrlDir(messagetype)
strDirToMake = strRootDir & "\" & left(shortdirectoryname,directorylength)

Locate around line 528: within routine sub generateseodynamicnews

Modify

strDirShort = "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirShort = "\" & shortdirectoryname

Locate around line 614: within routine sub generateseodynamicblogs

Modify

shortdirectoryname = messagetype
strDirToMake = strRootDir & "\" & left(FMTString2UrlDir(shortdirectoryname),directorylength)

to

shortdirectoryname = FMTString2UrlDir(messagetype)
strDirToMake = strRootDir & "\" & left(shortdirectoryname,directorylength)

Locate around line 623: within routine sub generateseodynamicblogs

Modify

strDirShort = "\" & FMTString2UrlDir(shortdirectoryname)

to

strDirShort = "\" & shortdirectoryname

Save and test.

52. shopseosubs.asp

Locate around line 9.

Above

'assign blogsmessagetype

Add

dim directorylength
directorylength = 200

Locate around line 117: within routine sub genseocategoryproductlink

Modify

passlink = "<a href="""& getconfig("xSEODynamicCatProductDirectory") &"/"& passid &"-"& passcatdescription &"/"& savesessionchar &"" & addwebsesslink & """>" & tempdisname & "</a>"

to

passlink = "<a href="""& getconfig("xSEODynamicCatProductDirectory") &"/"& left(passid &"-"& passcatdescription,directorylength) &"/"& savesessionchar &"" & addwebsesslink & """>" & tempdisname & "</a>"

Locate around line 119: within routine sub genseocategoryproductlink

Modify

passlink = "<a href="""& getconfig("xSEODynamicCatProductDirectory") &"/"& passid &"-"& passcatdescription &"/"& savesessionchar &"" & addwebsesslink & """>" & tempdisname & "...</a>"

to

passlink = "<a href="""& getconfig("xSEODynamicCatProductDirectory") &"/"& left(passid &"-"& passcatdescription,directorylength) &"/"& savesessionchar &"" & addwebsesslink & """>" & tempdisname & "...</a>"

Locate around line 122: within routine sub genseocategoryproductlink

Modify

passlink = ""& getconfig("xSEODynamicCatProductDirectory") &"/"& passid &"-"& passcatdescription &"/"

to

passlink = ""& getconfig("xSEODynamicCatProductDirectory") &"/"& left(passid &"-"& passcatdescription,directorylength) &"/"

Locate around line 140: within routine sub genseoproductlink

Modify

passlink = "<a href="""& getconfig("xSEODynamicCatProductDirectory") &"/"& categoryid &"-"& categoryname &"/"& passid &"-"& productname &"/"">" & tempdisname & "</a>"

to

passlink = "<a href="""& getconfig("xSEODynamicCatProductDirectory") &"/"& categoryid &"-"& categoryname &"/"& left(passid &"-"& productname,directorylength) &"/"">" & tempdisname & "</a>"

Locate around line 142: within routine sub genseoproductlink

Modify

passlink = ""& getconfig("xSEODynamicCatProductDirectory") &"/"& categoryid &"-"& categoryname &"/"& passid &"-"& productname &"/"

to

passlink = ""& getconfig("xSEODynamicCatProductDirectory") &"/"& categoryid &"-"& categoryname &"/"& left(passid &"-"& productname,directorylength) &"/"

Locate around line 213: within routine sub genseoblogslink

Modify

passlink = "<a "& classstr &" href="""& getconfig("xSEODynamicCatBlogDirectory") &"/"& passmessagetype &"/"">" & tempdisname & "</a>"

to

passlink = "<a "& classstr &" href="""& getconfig("xSEODynamicCatBlogDirectory") &"/"& left(passmessagetype,directorylength) &"/"">" & tempdisname & "</a>"

Locate around line 215: within routine sub genseoblogslink

Modify

passlink = ""& getconfig("xSEODynamicCatBlogDirectory") &"/"& passmessagetype &"/"

to

passlink = ""& getconfig("xSEODynamicCatBlogDirectory") &"/"& left(passmessagetype,directorylength) &"/"

Locate around line 228: within routine sub genseonewslink

Modify

passlink = "<a "& classstr &" href="""& getconfig("xSEODynamicCatNewsDirectory") &"/"& passmessagetype &"/"">" & tempdisname & "</a>"

to

passlink = "<a "& classstr &" href="""& getconfig("xSEODynamicCatNewsDirectory") &"/"& left(passmessagetype,directorylength) &"/"">" & tempdisname & "</a>"

Locate around line 230: within routine sub genseonewslink

Modify

passlink = ""& getconfig("xSEODynamicCatNewsDirectory") &"/"& passmessagetype &"/"

to

passlink = ""& getconfig("xSEODynamicCatNewsDirectory") &"/"& left(passmessagetype,directorylength) &"/"

Save and test.

53. admin/shopa_generateseodynamicsubs.asp

Locate around line 273: within routine sub generateseodynamiccategoryhassub

Modify

sqlstr = "select * from categories where hassubcategory = 'Yes' order by categoryid asc"

to

sqlstr = "select * from categories order by categoryid asc"

Locate around line 284: within routine sub generateseodynamiccategoryhassub

Modify

strRedirectTemplate1 = Server.MapPath("seotemplates/products-categoryid-hassub.asp")

to

if trim(hassubflag) = "Yes" then
strRedirectTemplate1 = Server.MapPath("seotemplates/products-categoryid-hassub.asp")
else
strRedirectTemplate1 = Server.MapPath("seotemplates/products-categoryid.asp")
end if

Save and test.

54. admin/shopa_googleproductfeed.asp

Locate around line 267: within routine sub getheadertitle

Modify

if (tconfig_eanfieldname<>"" and IsNull(tconfig_eanfieldname)=false) then

to

if (gpfeanfieldname<>"" and IsNull(gpfeanfieldname)=false) then

Save and test.

55a. shop$db.asp

Locate around line 789: within routine function GetMaxPages

Modify

frompos = instr(mysql3,"order by ")

to

frompos = instr(lcase(mysql3),"order by ")

Save and test.

55b. admin/admin$db.asp

Locate around line 761: within routine function GetMaxPages

Modify

frompos = instr(mysql3,"order by ")

to

frompos = instr(lcase(mysql3),"order by ")

Save and test.

56a. admin/shopa_generateseodynamicsubs.asp

Locate around line 1345: within routine Public Function FMTString2UrlDir

Below

strValue = Replace(strValue,":","-")

Add

strValue = Replace(strValue,"*","")
strValue = Replace(strValue,"!","")
strValue = Replace(strValue,"@","")
strValue = Replace(strValue,"#","")
strValue = Replace(strValue,"$","")
strValue = Replace(strValue,"%","")
strValue = Replace(strValue,"˜","")

Save and test.

56b. shopseosubs2.asp

Locate around line 695: within routine Public Function FMTString2UrlDir

Below

strValue = Replace(strValue,":","-")

Add

strValue = Replace(strValue,"*","")
strValue = Replace(strValue,"!","")
strValue = Replace(strValue,"@","")
strValue = Replace(strValue,"#","")
strValue = Replace(strValue,"$","")
strValue = Replace(strValue,"%","")
strValue = Replace(strValue,"˜","")

Save and test.

57a. shopdisplaycategories.asp

Locate around line 208: within routine sub AddImage

Modify

dim mylink
if getconfig("xSEODynamicEnable") = "Yes" then
genseocategoryproductlink mylink,id,iname,iname,"","No"

to

dim mylink
dim tempname
tempname = Iname
if getconfig("xSEODynamicEnable") = "Yes" then
genseocategoryproductlink mylink,id,tempname,tempname,"","No"

Save and test.

57b. shopdisplayproducts.asp

Locate around line 115: within routine sub ProcessFirst

Modify

getseocat_name CATEGORY,CAT_ID

to

getseocat_name CATEGORY

Save and test.

57c. shopseosubs.asp

Locate around line 73: within routine sub getseocat_name

Modify

sub getseocat_name (CATEGORY)
if getconfig("xSEODynamicEnable") <> "Yes" then exit sub

dim tempstr
tempstr = CATEGORY
if tempstr = "" then
if getsess("seocategoryname") <> "" then
tempstr = getsess("seocategoryname")
end if
end if
setsess "seocategoryname",""
CATEGORY = tempstr
end sub

to

sub getseocat_name (CATEGORY, cat_id)
if getconfig("xSEODynamicEnable") <> "Yes" then exit sub

dim tempstr
tempstr = getseocategoryname(cat_id)
setsess "seocategoryname",""
CATEGORY = tempstr
end sub

Save and test.

58. shop$db.asp

Locate around line 263.

Modify

SetSess "convertBackBackpage",GetSess("convertBackpage")
SetSess "convertBackpage",GetSess("convertCurrentpage")

to

SetSess "convertBackBackpage",GetSess("convertBackpage")
if instr(GetSess("convertCurrentpage"),"shoptellfriendpro.asp") = 0 and instr(GetSess("convertCurrentpage"),"shopreviewspro.asp") = 0 and instr(GetSess("convertCurrentpage"),"shopajaxshippingzipcodecountry.asp") = 0 then
SetSess "convertBackpage",GetSess("convertCurrentpage")
end if

Save and test.

59. shopproductfeaturesgenerate.asp

Locate around line 405, within routine sub GenerateSelectList.

Below

images = ""

Add

sSelect = ""

Locate around line 408, within routine sub GenerateSelectList.

Modify

if not isnull(strfeatureOther) then

to

if not isnull(strfeatureOther) and strfeatureOther <> "" then

Save and test.

60. shopdisplaycategories.asp

Locate around line 131, within routine sub FormatCategoryTemplate.

Modify

response.write CatColumn

to

htmlwrite "<td class=""ac vt"" width="""& (100 / yCatMaxColumns) &"%"">"

Locate around line 171, within routine sub FormatCategory.

Modify

response.write CatColumn

to

htmlwrite "<td class=""ac vt"" width="""& (100 / yCatMaxColumns) &"%"">"

Save and test.

61a. admin/shopa_generateseodynamicsubs.asp

Locate around line 1331: within routine Public Function FMTString2UrlDir

Below

Dim strOutput

Add

if instr(strValue,chr(13)) > 0 then
strvalue = mid(strValue,1,instr(strValue,chr(13))-1)
end if

Save and test.

61b. shopseosubs2.asp

Locate around line 680: within routine Public Function FMTString2UrlDir

Below

Dim strOutput

Add

if instr(strValue,chr(13)) > 0 then
strvalue = mid(strValue,1,instr(strValue,chr(13))-1)
end if

Save and test.

62. shopaddtocart.asp

Locate around line 164: within routine sub ProcessNewAdd

Remove

'6.50 - precautionary security fix
ReturnURL=CleanChars(request("ReturnURL"))
if ReturnURL<>"" then
ResponseRedirect ReturnURL
end if

Locate around line 234: within routine sub DisplayForm

Below

ReInitSess

Add

'6.50 - precautionary security fix
ReturnURL=CleanChars(request("ReturnURL"))
if ReturnURL<>"" then
ResponseRedirect ReturnURL
end if

Save and test.

63a. shopdisplayproducts.asp

Locate around line 248: within routine sub DisplayProducts

Modify

url = "shopdisplayproducts.asp?page=" & mypage

to

url = "shopdisplayproducts.asp?page=" & mypage & "&id="& CAT_ID &"&cat="& CATEGORY &""

Save and test.

63b. shopproductformat.asp

Locate around line 53: within routine sub ProductFormatRow

Modify

url = "shopdisplayproducts.asp?page=" & mypage

to

url = "shopdisplayproducts.asp?page=" & mypage & "&id="& CAT_ID &"&cat="& CATEGORY &""

Save and test.

63c. shopproductformat_template.asp

Locate around line 34: within routine sub HtmlProductFormatRow

Modify

url = "shopdisplayproducts.asp?page=" & mypage

to

url = "shopdisplayproducts.asp?page=" & mypage & "&id="& CAT_ID &"&cat="& CATEGORY &""

Save and test.

64a. admin/shopa_generateseodynamicsubs.asp

Locate around line 1369: within routine Public Function FMTString2UrlDir

Remove

strValue = Replace(strValue,"&","")

Locate around line 1371: within routine Public Function FMTString2UrlDir

Above

strOutput = strValue

Add

strValue = Replace(strValue,"&amp;","&")

Save and test.

64b. shopseosubs2.asp

Locate around line 704: within routine Public Function FMTString2UrlDir

Remove

strValue = Replace(strValue,"&","")

Locate around line 706: within routine Public Function FMTString2UrlDir

Above

strOutput = strValue

Add

strValue = Replace(strValue,"&amp;","&")

Save and test.

65. shopproductcreatesql.asp

Locate around line 305: within routine sub GetProductFields

Modify

sortfields = replace(lcase(sortfields), ",CatalogId", "")
sortfields = replace(lcase(sortfields), "CatalogId,", "")
sortfields = replace(lcase(sortfields), "CatalogId", "")

to

sortfields = replace(lcase(sortfields), ",catalogid", "")
sortfields = replace(lcase(sortfields), "catalogid,", "")
sortfields = replace(lcase(sortfields), "catalogid", "")

Save and test.

66. shoprandomproducts.asp

Locate around line 167: within routine sub GenerateFrontpagesql

Replace whole sub GenerateFrontpagesql

to

sub GenerateFrontpagesql (selectfield, selectvalue, sql,procategorylist)
dim wherestr, sortstr
sortstr=getconfig("xsortproducts")
wherestr="where hide=0"
If selectfield<>"" and selectvalue<>"" then
wherestr=wherestr & " and " & selectfield & "='" & selectvalue & "'"
end if
sql="select * from products " & wherestr
If getconfig("xselectproductsbylanguage")="Yes" and getsess("language")<>"" then
sql=sql & " and (clanguage='" & getsess("language") & "'"
sql=sql & " or clanguage is null)"
end if
'inventory
sql = sql & " AND (highercatalogid is null)"

'VP-ASP 6.5.1 - stock control
if getconfig("xstocklow")<>"" then
lngcstock= clng(getconfig("xstocklow"))
sql = sql & " and cstock> " & lngcstock
end if

'700 - Customer Groups - Matching Custormer match
sql = sql & GenerateCustomerMatchSQL ("customermatch","excustomermatch","loggedin","and")

'700 - home page manager - random products
if len(procategorylist) > 0 then
sql = sql & " AND (ccategory in ("& procategorylist &"))"
end if

If sortstr<>"" then
sql=sql & " order by " & sortstr
end if
If getconfig("xdebug")="Yes" then
debugwrite sql
end if
end sub

Save and test.

67a. shopcms.asp

Locate around line 1050: within routine sub Handle_BlogsLink

Modify

response.write mylink

to

value = mylink

Save and test.

67b. templates\yourtemplate\tmp_blogs.htm

Locate around line 6.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatblogslink]
">
<!-- end -->
[formatdate cdateadded]
-
[translate headline]
</a>

to

<a href="[formatblogslink]">[formatdate cdateadded] - [translate headline]</a>

Save and test.

67c. shopfileo.asp

Locate around line 701: within routine sub Handle_shopexdlink

Modify

response.write mylink

to

ivalue = mylink

Save and test.

67d. templates\yourtemplate\tmp_featuredproducts.htm

Locate around line 4.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
" class="image">
<!-- end -->

$ <img src="[cimageurl]" alt="" />
</a>

to

<a href="[formatshopexdlink] " class="image">
$ <img src="[cimageurl]" alt="" />
</a>

Locate around line 10.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
" class="btn-details">Details</a>
<!-- end -->

to

<a href="[formatshopexdlink] " class="btn-details">Details</a>

Save and test.

67e. templates\yourtemplate\tmp_frontpage.htm

Locate around line 2.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
[add_websesslink]">
<!-- end -->
<img src="[cimageurl]" border="0" alt="[translate cname]" /></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" border="0" alt="[translate cname]" /></a>

Locate around line 9.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
[add_websesslink]" class="btn-details">
<!-- end -->
[GetLang langproductextendeddescription]</a>

to

<a href="[formatshopexdlink][add_websesslink]" class="btn-details">[GetLang langproductextendeddescription]</a>

Save and test.

67f. templates\yourtemplate\tmp_newproductsfrontpage.htm

Locate around line 14.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
[add_websesslink]">
<!-- end -->
<img src="[cimageurl]" border="0" alt="[translate cname]" /></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" border="0" alt="[translate cname]" /></a>

Locate around line 35.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
[add_websesslink]" class="btn-details">
<!-- end -->
[GetLang langproductextendeddescription]</a>

to

<a href="[formatshopexdlink][add_websesslink]" class="btn-details">[GetLang langproductextendeddescription]</a>

Save and test.

67g. templates\yourtemplate\tmp_productthumbnail.htm

Locate around line 2.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
<img border="0" src="[extendedimage]"></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img border="0" src="[extendedimage]" alt="" /></a>

Locate around line 6.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
Click here</a>

to

<a href="[formatshopexdlink][add_websesslink]">Click here</a>

Save and test.

67h. templates\yourtemplate\tmp_proexdalsobought.htm

Locate around line 19.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a></td->

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0' /></a>
</td->

Locate around line 26.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
<!-- end -->
click to see more</a></strong></p><td>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p><td>

Save and test.

67i. templates\yourtemplate\tmp_proexdalsoboughtinvent.htm

Locate around line 20.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0' /></a>

Locate around line 27.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
<!-- end -->
click to see more</a></strong></p>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p>

Save and test.

67j. templates\yourtemplate\tmp_proexdalsoboughtinventnoimage.htm

Locate around line 22.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">click to see more</a>
<!-- end -->

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>

Save and test.

67k. templates\yourtemplate\tmp_proexdalsoboughtnoimage.htm

Locate around line 16.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
[translate cname]</a> - </span>

to

<a href="[formatshopexdlink][add_websesslink]">[translate cname]</a> -
</span>

Locate around line 25.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>

Save and test.

67l. templates\yourtemplate\tmp_proexdcroselling.htm

Locate around line 20.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0'></a>

Locate around line 29.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p->

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p->

Save and test.

67m. templates\yourtemplate\tmp_proexdcrosellinginvent.htm

Locate around line 20.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0'></a>

Locate around line 29.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p->

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p->

Save and test.

67n. templates\yourtemplate\tmp_proexdcrosellinginventnoimage.htm

Locate around line 23.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
"> <!-- end -->
click to see more</a></strong></p></td>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p></td>

Save and test.

67o. templates\yourtemplate\tmp_proexdcrosellingnoimage.htm

Locate around line 16.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
[translate cname]</a> - </span>

to

<a href="[formatshopexdlink][add_websesslink]">[translate cname]</a> -
</span>

Locate around line 25.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p></td>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p></td>

Save and test.

67p. templates\yourtemplate\tmp_proexddisplay.htm

Locate around line 18.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0'></a>

Locate around line 22.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
[translate cname]</a></span>

to

<a href="[formatshopexdlink][add_websesslink]">[translate cname]</a>
</span>

Locate around line 29.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p>

Save and test.

67q. templates\yourtemplate\tmp_proexddisplayinvent.htm

Locate around line 18.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0'></a>

Locate around line 22.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
[translate cname]</a></span>

to

<a href="[formatshopexdlink][add_websesslink]">[translate cname]</a>
</span>

Locate around line 27.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p>

Save and test.

67r. templates\yourtemplate\tmp_proexdprocat.htm

Locate around line 19.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0'></a>

Locate around line 27.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p>

Save and test.

67s. templates\yourtemplate\tmp_proexdprocatinvent.htm

Locate around line 19.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
<img src="[cimageurl]" width='60' height='60' border='0'></a>

to

<a href="[formatshopexdlink][add_websesslink]"><img src="[cimageurl]" width='60' height='60' border='0'></a>

Locate around line 25.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p>

Save and test.

67t. templates\yourtemplate\tmp_proexdprocatinventnoimage.htm

Locate around line 15.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
[translate cname]</a></span>

to

<a href="[formatshopexdlink][add_websesslink]">[translate cname]</a>
</span>

Locate around line 21.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p></td>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p></td>

Save and test.

67u. templates\yourtemplate\tmp_proexdprocatnoimage.htm

Locate around line 23.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
">
<!-- end -->
click to see more</a></strong></p></td>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a>
</strong></p></td>

Save and test.

67v. templates\yourtemplate\tmp_subproductformat.htm

Locate around line 25.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
[add_websesslink]">
<!-- end -->
<img border='0' src='[cimageurl]' alt='[cname]' /></a></td>

to

<a href="[formatshopexdlink][add_websesslink]"><img border='0' src='[cimageurl]' alt='[cname]' /></a>
</td>

Locate around line 40.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
[add_websesslink]">
<!-- end -->
click to see more</a></strong></p></td>

to

<a href="[formatshopexdlink][add_websesslink]">click to see more</a></strong></p>
</td>

Save and test.

67w. templates\yourtemplate\tmp_topsellers.htm

Locate around line 4.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
" class="image">
<!-- end -->

to

<a href="[formatshopexdlink][add_websesslink]" class="image">

Locate around line 11.

Modify

<!-- The following link must be remain in this format : start -->
<a href="
[formatshopexdlink]
" class="btn-details">Details</a>
<!-- end -->

to

<a href="[formatshopexdlink][add_websesslink]" class="btn-details">Details</a>

Save and test.

68. shopproductcreatesql.asp

Locate around line 359: within routine sub AddSQL

Below

SQL = SQL & " p." & strname & "<=" & strvalue

Add

SQL = SQL & " and p." & strname & "<> 0"

Save and test.

69a. admin/adminheaders.asp

Locate around line 2161: within private function readfile

Above

if instr(str_path,":") = 0 then str_path = server.mappath(str_path)

Add

str_path = replace(str_path,"//","/")
str_path = replace(str_path,"\\","\")

Save and test.

69b. shopheaders.asp

Locate around line 1147: within private function readfile

Above

if instr(str_path,":") = 0 then str_path = server.mappath(str_path)

Add

str_path = replace(str_path,"//","/")
str_path = replace(str_path,"\\","\")

Save and test.

70a. shop$db.asp

Locate around line 789: within function GetMaxPages

Modify

frompos = instr(mysql,"from ")
mysql3 = "select count(*) as reccnt " & mid(mysql,frompos,len(mysql) - frompos + 1)
frompos = instr(lcase(mysql3),"order by ")
if frompos > 0 then
mysql3 = mid(mysql3,1,frompos - 1)
end if

to

frompos = instr(lcase(mysql),"order by ")
if frompos > 0 then
mysql = mid(mysql,1,frompos - 1)
end if
mysql = replace(mysql,";","")
mysql3 = "select count(*) as reccnt from ("& mysql &") as t "

Save and test.

70b. admin/admin$db.asp

Locate around line 759: within function GetMaxPages

Modify

frompos = instr(mysql,"from ")
mysql3 = "select count(*) as reccnt " & mid(mysql,frompos,len(mysql) - frompos + 1)
frompos = instr(lcase(mysql3),"order by ")
if frompos > 0 then
mysql3 = mid(mysql3,1,frompos - 1)
end if

to

frompos = instr(lcase(mysql),"order by ")
if frompos > 0 then
mysql = mid(mysql,1,frompos - 1)
end if
mysql = replace(mysql,";","")
mysql3 = "select count(*) as reccnt from ("& mysql &") as t "

Save and test.

71. admin/shopa_editdisplay.asp

Locate around line 305: within sub GenerateSQLEditDisplay

Modify

if trim(ucase(request("Selectioncritereontext"))) <> trim(ucase(session("sqlquery"))) then

to

if instr(trim(ucase(request("Selectioncritereontext"))),trim(ucase(session("sqlquery")))) <= 0 then

Save and test.

72a. shop$db.asp

Locate around line 1515: within sub CheckValidLogin

Above

if GetConfig("xshopclosed")="Yes" then

Add

if InStr(1,Request.ServerVariables("SCRIPT_NAME"),"shoperror.asp",1) Then
exit sub
end if

Save and test.

72b. admin/admin$db.asp

Locate around line 1444: within sub CheckValidLogin

Above

if GetConfig("xshopclosed")="Yes" then

Add

if InStr(1,Request.ServerVariables("SCRIPT_NAME"),"shoperror.asp",1) Then
exit sub
end if

Save and test.

73. shopproductformat.asp

Locate around line 383: within sub GenerateImage

Below

if GetConfig("XextendedPopup") = "Yes" then

Add

%>
<script language="JavaScript" type='text/javascript'>
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'width=550,height=400,menubar=no,toolbar=no,location=no,status=no,directories=no,copyhistory=no,resizable=yes,scrollbars=yes');");
}
// End -->
</script>
<%

Locate around line 397: within sub GenerateImage

Modify

<p class="ac"><a href="#" onClick="window.open('<%=strDescURL%>','','width=550,height=400,menubar=no,toolbar=no,location=no,status=no,directories=no,copyhistory=no,resizable=yes,scrollbars=yes')"><img src="<%=strcimageURL%>" alt="<%=productname%>" border="0" /></a><br />
<a href="#" onClick="window.open('<%=strDescURL%>','','width=550,height=400,menubar=no,toolbar=no,location=no,status=no,directories=no,copyhistory=no,resizable=yes,scrollbars=yes')"><%=GetLang("langProductClick")%></a></p>

to

<p class="ac"><a href="javascript:popUp('<%=xmysite2 & "/" & strDescURL%>')"><img src="<%=strcimageURL%>" alt="<%=productname%>" border="0" /></a><br />
<a href="javascript:popUp('<%=xmysite2 & "/" & strDescURL%>')"><%=GetLang("langProductClick")%></a></p>

Locate around line 402: within sub GenerateImage

Modify

<p class="ac"><a href="#" onClick="window.open('<%=strDescURL%>','','width=550,height=400,menubar=no,toolbar=no,location=no,status=no,directories=no,copyhistory=no,resizable=yes,scrollbars=yes')"><img src="<%=strcimageURL%>" alt="<%=productname%>" border="0" /></a><br />
<a href="#" onClick="window.open('<%=strDescURL%>','','width=550,height=400,menubar=no,toolbar=no,location=no,status=no,directories=no,copyhistory=no,resizable=yes,scrollbars=yes')"><img border="0" src="<%=buttonimage%>" alt="<%=productname%>" border="0" /></a></p>

to

<p class="ac"><a href="javascript:popUp('<%=xmysite2 & "/" & strDescURL%>')"><img src="<%=strcimageURL%>" alt="<%=productname%>" border="0" /></a><br />
<a href="javascript:popUp('<%=xmysite2 & "/" & strDescURL%>')"><img border="0" src="<%=buttonimage%>" alt="<%=productname%>" border="0" /></a></p>

Locate around line 459: within sub GenerateNoImage

Below

if GetConfig("XextendedPopup") = "Yes" then

Add

%>
<script language="JavaScript" type='text/javascript'>
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'width=550,height=400,menubar=no,toolbar=no,location=no,status=no,directories=no,copyhistory=no,resizable=yes,scrollbars=yes');");
}
// End -->
</script>
<%

Locate around line 472: within sub GenerateImage

Modify

<a href="#" onClick="window.open('<%=strDescURL%>','','width=550,height=400,menubar=no,toolbar=no,location=no,status=no,directories=no,copyhistory=no,resizable=yes,scrollbars=yes')"><img src="<%=GetConfig("xnoimage")%>" alt="<%=productname%>" /></a><br />

to

<a href="javascript:popUp('<%=xmysite2 & "/" & strDescURL%>')"><img src="<%=GetConfig("xnoimage")%>" alt="<%=productname%>" /></a><br />

Save and test.

74. admin/admin$db.asp

Locate around line 1431: within sub CheckValidLogin

Remove

if GetConfig("xlogonrequired")="Yes" then
if GetSess("Login")="" then
if instr(lcase(request.ServerVariables("SCRIPT_NAME")),"shoploginforce.asp") <= 0 then
if instr(lcase(request.ServerVariables("SCRIPT_NAME")),"shopcontent.asp") <= 0 then
if instr(lcase(request.ServerVariables("SCRIPT_NAME")),"shopblogs") <= 0 then
if instr(lcase(request.ServerVariables("SCRIPT_NAME")),"shopnews") <= 0 then
SetSess "CurrentURL", "shoploginforce.asp"
ResponseRedirect getactualfileslocation(request.ServerVariables("SCRIPT_NAME"), "shoploginforce.asp", "", "", "no")
end if
end if
end if
end if
end if
end if

Save and test.

75a. admin/admin$db.asp

Locate around line 17.

Above

session.codepage=1252

Add

setsess "inadminflag","Yes"

Save and test.

75b. shopupsincludes.asp

Locate around line 1.

Remove

<!--#include file="shophash.asp"-->

Locate around line 8.

Above

const upshashkey = "oiYhaTdaDa"

Add

if getsess("inadminflag") <> "Yes" then
%>
<!-- #include file="shophash.asp"-->
<%
end if
setsess "inadminflag",""

Save and test.

75c. shopformatorder.asp

Locate around line 1.

Remove

<!--#include file="shophash.asp"-->

Locate around line 10.

Above

const xDisplayorderfields=""

Add

if getsess("inadminflag") <> "Yes" then
%>
<!-- #include file="shophash.asp"-->
<%
end if
setsess "inadminflag",""

Save and test.

76. shopnewproductsub.asp

Locate around line 76: within routine sub Generatesqlnewproducts.

Modify

sql = "select distinct p.catalogid from products p, prodcategories cc, categories c " & wherestr

to

sql = "select distinct p.catalogid,p.cdateadded from products p, prodcategories cc, categories c " & wherestr

Locate around line 109: within routine sub Generatesqlnewproducts.

Above

end sub

Add

dim rs,plist
plist = ""
set rs = Server.createobject("ADODB.Recordset")
rs.open sql, dbc, 3, 3
do while not rs.eof
plist = plist & rs("catalogid") & ","
rs.movenext
loop
closerecordset rs
if plist = "" then
sql = ""
exit sub
end if
plist = mid(plist,1,len(plist)-1)
sql = "select * from products p where p.CatalogId In (" & plist & ")"
if sortstr<>"" then
sql = sql & " order by " & sortstr
end if

Save and test.

77. admin/shopa_featureedit.asp

Locate around line 791: within routine sub WriteFeatureRow.

Modify

if featurerequired = true then

to

if featurerequired = true or featurerequired = 1 then

Save and test.

78a. admin/shopa_featureedit.asp

Locate around line 1079: within routine sub FeaturesProducts.

Modify

sql = "select catalogid,cname from products where concat(',',features,',') like concat (',' ,'%"& strfeatures &"%',',') limit 20"

to

sql = "select catalogid,cname from products where CONCAT(',',features,',') like '%,"& strfeatures &",%' limit 20"

Save and continue to 78b.

78b. admin/shopa_displayrelfeatureprod.asp

Locate around line 76: within routine sub GenerateSQLEditDisplayProdFeatures.

Modify

MySql = "select catalogid,cname from products where concat(',',features,',') like concat (',' ,'%"& strfeatures &"%',',')"

to

MySql = "select catalogid,cname from products where concat(',',features,',') like '%,"& strfeatures &",%'"

Save and test.

79a. shop$db.asp

Locate around line 793: within function GetMaxPages

Above

mysql3 = "select count(*) as reccnt from ("& mysql &") as t "

Add

mysql = replace(mysql,";","")

Save and test.

79b. admin/admin$db.asp

Locate around line 764: within function GetMaxPages

Above

mysql3 = "select count(*) as reccnt from ("& mysql &") as t "

Add

mysql = replace(mysql,";","")

Save and test.

80. Packages

Download latest packages from www.vpasp.com

Copy all the images in /images/admin/ folder to your CartRoot/images/admin/

81. shopaffreportsubs.asp

Locate around line 540: within sub AffDetailRow

Modify

fieldvalue="<a href=" & my_link &">" & rs("affid") & "</a>"

to

if getsess("shopadmin") <> "" then
fieldvalue="<a href=" & my_link &">" & rs("affid") & "</a>"
else
fieldvalue=rs("affid")
end if

Save and test.

82. shopprocat.asp

Locate around line 33: within sub Handle_procatdisplay

Modify

if trim(strProProCatDisplayCategoryID)>0 then

to

if trim(len(strProProCatDisplayCategoryID))>0 then

Locate around line 51: within sub Handle_procatdisplay

Modify

if trim(strCatProCatDisplayCategoryID)>0 then

to

if trim(len(strCatProCatDisplayCategoryID))>0 then

Save and test.

83. SEO Tool Module

Download SEO Tool Module (vpasp700seotools.zip) from vpasp.com.

Replace the files to your site.

Save and test.

84. shopvalidatecreditcards.asp

Locate around line 113: within function trimtodigits

Below

function trimtodigits(tstring)

Add

dim s,ts,x,ch

Save and test.

85a. shop$db.asp

Locate around line 780: within function GetMaxPages

Replace Whole function GetMaxPages

to

function GetMaxPages (mysql,mypagesize)
if len(mysql) <= 0 then
GetMaxPages = 1
exit function
end if

dim mysql3,countrs,countpos,frompos,counttotal,maxpage,frompos2
dim tempsql
tempsql = mysql
frompos = instr(lcase(tempsql),"order by ")
if frompos > 0 then
tempsql = mid(tempsql,1,frompos - 1)
end if
tempsql = replace(tempsql,";","")
mysql3 = "select count(*) as reccnt from ("& tempsql &") as t "
Set countrs = Server.CreateObject("ADODB.Recordset")
countrs.open mysql3, dbc, adOpenDynamic, adLockOptimistic
if not countrs.eof then
counttotal = countrs("reccnt")
end if

if clng(counttotal) mod clng(mypagesize) = 0 then
maxpage = int(clng(counttotal) / clng(mypagesize))
else
maxpage = int(clng(counttotal) / clng(mypagesize)) + 1
end if
if maxpage <= 0 then maxpage = 1
GetMaxPages = maxpage
end function

Save and test.

85b. admin/admin$db.asp

Locate around line 752: within function GetMaxPages

Replace Whole function GetMaxPages

to

function GetMaxPages (mysql,mypagesize)
if len(mysql) <= 0 then
GetMaxPages = 1
exit function
end if

dim mysql3,countrs,countpos,frompos,counttotal,maxpage,frompos2
dim tempsql
tempsql = mysql
frompos = instr(lcase(tempsql),"order by ")
if frompos > 0 then
tempsql = mid(tempsql,1,frompos - 1)
end if
tempsql = replace(tempsql,";","")
mysql3 = "select count(*) as reccnt from ("& tempsql &") as t "
Set countrs = Server.CreateObject("ADODB.Recordset")
countrs.open mysql3, dbc, adOpenDynamic, adLockOptimistic
if not countrs.eof then
counttotal = countrs("reccnt")
end if

if clng(counttotal) mod clng(mypagesize) = 0 then
maxpage = int(clng(counttotal) / clng(mypagesize))
else
maxpage = int(clng(counttotal) / clng(mypagesize)) + 1
end if
if maxpage <= 0 then maxpage = 1
GetMaxPages = maxpage
end function

Save and test.

86. admin/shopa_addproduct.asp

Locate around line 1776: within sub AddCategories

Below

Displayallcurrentcategories ' display all current categories

Add

else
HtmlWrite "<tr><td colspan=2>"
HtmlWrite "<span name=""procategoryresult"" id=""procategoryresult""><table>"
HtmlWrite "<table width='100%'>"
HtmlWrite "</table>"
HtmlWrite "</span>"
HtmlWrite "</td></tr>"

Save and test.

87. admin/shopa_procategory.asp

Locate around line 82: within sub Updatemaincategory

Modify

sql = "select * from prodcategories where intcategoryid=" & lngccategory & " and intCatalogId=" & CatalogId
'set rs = dbc.execute(sql)

to

if lngccategory <> 0 then
sql = "select * from prodcategories where intcategoryid=" & lngccategory & " and intCatalogId=" & CatalogId
else
sql = "select * from prodcategories where intCatalogId=" & CatalogId & " and intcategoryid > 0 order by id asc"
end if

Locate around line 89: within sub Updatemaincategory

Modify

if not rs.eof then
found = true
else
found = false
end if

to

if not rs.eof then
found = true
if lngccategory = 0 then
lngccategory = rs("intcategoryid")
end if
else
found = false
if lngccategory = 0 then
lngccategory = categoryid
end if
end if

Locate around line 217: within sub Performdeletecategory

Modify

sql = "SELECT TOP 1 intcategoryid from prodcategories WHERE (intCatalogId = " & which & ") AND (NOT intcategoryid = " & categoryid & ") ORDER BY id desc"

to

sql = "SELECT TOP 1 intcategoryid from prodcategories WHERE (intCatalogId = " & which & ") AND (NOT intcategoryid = " & categoryid & ") and intcategoryid > 0 ORDER BY id desc"

Save and test.

88. admin/shopa_editrecord.asp

Locate around line 1615: within sub DisplayForm

Modify

displaycustormergroup contactid
HtmlWrite "
"

to

if which<>"" then
displaycustormergroup contactid
HtmlWrite "
"
end if

Save and test.

89. shopcustgrpsubs.asp

Locate around line 348: within sub updatecustomergroup

Below

dim sqlrs,strsql

Add

if oldwhich <> "" then

Locate around line 357: within sub updatecustomergroup

Below

closerecordset sqlrs

Add

else
refreshindfromcontact which
end if

Save and test.

90. shop$db.asp

Locate around line 1505: within sub CheckValidLogin

Modify

if GetSess("Login")="" then

to

if GetSess("Login")="" and instr(lcase(request.ServerVariables("SCRIPT_NAME")),"shoplogin.asp") <= 0 then

Save and test.

91. admin/admin$db.asp

Locate around line 3206: within function addHTMLEditor

Modify

<pre id="idTemporary_<%=fieldname%>" name="idTemporary_<%=fieldname%>" style="display:none"><%if textdata > "" then response.write Server.HTMLEncode(textdata)%></pre>

to

<pre id="idTemporary_<%=fieldname%>" name="idTemporary_<%=fieldname%>" style="display:none"><%if textdata > "" then response.write textdata%></pre>

Save and test.

92. shopexd.asp

Locate around line 57

Below

ExdOpenRecordSet tmpRS

Add

'700 - Solve the SEO wrong breadcrumb
if getconfig("xSEODynamicProductsEnable") = "Yes" then
dim bccategoryname
getseocat_name bccategoryname,tmpRS("ccategory")
if trim(bccategoryname) <> "" then
dim breadcrumblink
breadcrumblink = "<a href=""" & GetConfig("xhome") & addwebsesslinkfirst & """>" & GetLang("langcommonhome") & "</a> " & SubCatSeparator & "<a href=""shopDisplayCategories.asp"">" & GetLang("LangCommonCategories") & "</a>"
breadcrumblink = breadcrumblink & subcatseparator & " " & bccategoryname
SetSess "breadcrumb", breadcrumblink
else
SetSess "breadcrumb", ""
end if
end if

Save and test.

93. admin/shopgooglesitemapscreate.asp

Locate around line 419: within sub WriteblogsLocation

Above

mylink = "<loc>" & mysite & "/"& mylink &"</loc>"

Add

mylink = fixspecialcharxml(mylink)

Locate around line 431: within sub WritenewsLocation

Above

mylink = "<loc>" & mysite & "/"& mylink &"</loc>"

Add

mylink = fixspecialcharxml(mylink)

Locate around line 450: within sub WriteCategoryLocation

Above

mylink = "<loc>" & mysite & "/"& mylink &"</loc>"

Add

mylink = fixspecialcharxml(mylink)

Locate around line 472: within sub WriteProductLocation

Above

mylink = "<loc>" & mysite & "/"& mylink &"</loc>"

Add

mylink = fixspecialcharxml(mylink)

Locate last line

Above

%>

Add

'fix xml special char
function fixspecialcharxml (passtr)
if trim(passtr) = "" then
fixspecialcharxml = ""
exit function
end if

dim tempstr
tempstr = passtr
tempstr = replace(tempstr,"&","&amp;")
tempstr = replace(tempstr,"<","&lt;")
tempstr = replace(tempstr,">","&gt;")
tempstr = replace(tempstr,"""","&quot;")
tempstr = replace(tempstr,"'","&apos;")
fixspecialcharxml = tempstr
end function

Save and test.

94a. admin/js/shophomepagemanagerfunctions.js

Locate around line 665: within function savesidebar

Modify

if (savetype.toLowerCase() == 'savesidefreetext'){
var pars = 'savetype='+ savetype +'&id='+ id +'&divname='+ divname +'&otheroptions1='+ escape(document.getElementById(prefix + 'otheroptions1').value) +'&labelfield='+ escape(document.getElementById(prefix + 'labelfield').value) +'&otheroptions2='+ escape(document.getElementById(prefix + 'otheroptions2').value) +'&otheroptions3='+ escape(document.getElementById(prefix + 'otheroptions3').value) +'&otheroptions4='+ encodeURI(escape(document.getElementById(prefix + 'otheroptions4').value)) +'&otheroptions5='+ escape(document.getElementById(prefix + 'otheroptions5').value) +'&otheroptions6='+ escape(document.getElementById(prefix + 'otheroptions6').value) +'&resizeimage='+ escape(document.getElementById(prefix + 'resizeimage').value) +'';
}
else {
var pars = 'savetype='+ savetype +'&id='+ id +'&divname='+ divname +'&otheroptions1='+ escape(document.getElementById(prefix + 'otheroptions1').value) +'&labelfield='+ escape(document.getElementById(prefix + 'labelfield').value) +'&otheroptions2='+ escape(document.getElementById(prefix + 'otheroptions2').value) +'&otheroptions3='+ escape(document.getElementById(prefix + 'otheroptions3').value) +'&otheroptions4='+ escape(document.getElementById(prefix + 'otheroptions4').value) +'&otheroptions5='+ escape(document.getElementById(prefix + 'otheroptions5').value) +'&otheroptions6='+ escape(document.getElementById(prefix + 'otheroptions6').value) +'&resizeimage='+ escape(document.getElementById(prefix + 'resizeimage').value) +'';
}

to

if (savetype.toLowerCase() == 'savesidefreetext'){
var pars = 'savetype='+ savetype +'&id='+ id +'&divname='+ divname +'&otheroptions1='+ escape(document.getElementById(prefix + 'otheroptions1').value) +'&labelfield='+ escape(document.getElementById(prefix + 'labelfield').value) +'&otheroptions2='+ escape(document.getElementById(prefix + 'otheroptions2').value) +'&otheroptions3='+ escape(document.getElementById(prefix + 'otheroptions3').value) +'&otheroptions4='+ encodeURI(escape(document.getElementById(prefix + 'otheroptions4').value)) +'&otheroptions5='+ escape(document.getElementById(prefix + 'otheroptions5').value) +'&otheroptions6='+ escape(document.getElementById(prefix + 'otheroptions6').value) +'&resizeimage='+ escape(document.getElementById(prefix + 'resizeimage').value) +'';
}
else {
if (savetype.toLowerCase() == 'savesidecentercontentpage'){
var pars = 'savetype='+ savetype +'&id='+ id +'&divname='+ divname +'&otheroptions1='+ escape(document.getElementById(prefix + 'otheroptions1').value) +'&labelfield='+ escape(document.getElementById(prefix + 'labelfield').value) +'&otheroptions2='+ escape(document.getElementById(prefix + 'otheroptions2').value) +'&otheroptions3='+ escape(document.getElementById(prefix + 'otheroptions3').value) +'&otheroptions4='+ escape(document.getElementById(prefix + 'otheroptions4').value) +'&otheroptions5='+ encodeURI(escape(document.getElementById(prefix + 'otheroptions5').value)) +'&otheroptions6='+ escape(document.getElementById(prefix + 'otheroptions6').value) +'&resizeimage='+ escape(document.getElementById(prefix + 'resizeimage').value) +'';
}
else {
var pars = 'savetype='+ savetype +'&id='+ id +'&divname='+ divname +'&otheroptions1='+ escape(document.getElementById(prefix + 'otheroptions1').value) +'&labelfield='+ escape(document.getElementById(prefix + 'labelfield').value) +'&otheroptions2='+ escape(document.getElementById(prefix + 'otheroptions2').value) +'&otheroptions3='+ escape(document.getElementById(prefix + 'otheroptions3').value) +'&otheroptions4='+ escape(document.getElementById(prefix + 'otheroptions4').value) +'&otheroptions5='+ escape(document.getElementById(prefix + 'otheroptions5').value) +'&otheroptions6='+ escape(document.getElementById(prefix + 'otheroptions6').value) +'&resizeimage='+ escape(document.getElementById(prefix + 'resizeimage').value) +'';
}
}

Save and test.

94b. admin/shopa_hpmanagersubdetails.asp

Locate around line 1937: within sub savecenterbox

Modify

otheroptions5 = cleanchars(request("otheroptions5"))

to

if lcase(containername) = "contentpage" then
otheroptions5 = replace(URLDecode(request("otheroptions5")),"&","&")
otheroptions5 = replace(otheroptions5,"%uFFFD","'")
else
otheroptions5 = cleanchars(request("otheroptions5"))
end if

Save and test.

95a. shopupdatecartprices.asp

Locate around line 87: within sub UpdateCartPrices

Above

for i = 1 to scartItem

Add

dim selectlistpos1,selectlistpos2,selectlistvalue

Locate around line 95: within sub UpdateCartPrices

Modify

ProductPrice = ProductPrice + getfprice(arrCart(cProductFeatures,i))

to

if trim(arrCart(cfeatureotherpricing,i)) <> "" then
if instr(arrCart(cfeatureotherpricing,i),"-selectlistprice=[") > 0 then
selectlistpos1 = instr(arrCart(cfeatureotherpricing,i),"-selectlistprice=[") + len("-selectlistprice=[") - 1
selectlistpos2 = instr(mid(arrCart(cfeatureotherpricing,i),selectlistpos1+1,len(arrCart(cfeatureotherpricing,i)) - selectlistpos1 + 1),"]")
selectlistvalue = mid(arrCart(cfeatureotherpricing,i),selectlistpos1+1,selectlistpos2-1)
else
selectlistvalue = 0
end if
end if
ProductPrice = ProductPrice + getfprice(arrCart(cProductFeatures,i)) + selectlistvalue

Locate around line 129: within function getfprice

Replace function getfprice

to

function getfprice (feaid)
if len(feaid) <= 0 then
getfprice = 0
exit function
end if

dim tempfeaidary(100),tempfeaidcnt
parserecord feaid,tempfeaidary,tempfeaidcnt,","

dim strsql,tempprice,orders,totalprice,icnt,otheramount
totalprice = 0
tempprice = 0
otheramount = 0
dim selectlistpos1,selectlistpos2,selectlistvalue
for icnt = 0 to (tempfeaidcnt - 1)
if isnumeric(tempfeaidary(icnt)) = false or instr(tempfeaidary(icnt),",") > 0 then
else
strsql = "select featuretype,featureprice from prodfeatures where id=" & tempfeaidary(icnt)
Set Orders = Server.CreateObject("ADODB.Recordset")
orders.open strsql, dbc, adopenkeyset, adlockoptimistic
if not orders.eof then
if lcase(orders("featuretype")) = "selectlist" then
tempprice = 0
elseif lcase(orders("featuretype")) = "quantity" then
if trim(arrCart(cfeatureotherpricing,i)) <> "" then
if instr(arrCart(cfeatureotherpricing,i),"-selectquantity=[") > 0 then
selectlistpos1 = instr(arrCart(cfeatureotherpricing,i),"-selectquantity=[") + len("-selectquantity=[") - 1
selectlistpos2 = instr(mid(arrCart(cfeatureotherpricing,i),selectlistpos1+1,len(arrCart(cfeatureotherpricing,i)) - selectlistpos1 + 1),"]")
selectlistvalue = mid(arrCart(cfeatureotherpricing,i),selectlistpos1+1,selectlistpos2-1)
end if
else
selectlistvalue = 0
end if
tempprice = orders("featureprice")
if isnull(tempprice) then tempprice = 0
if trim(tempprice) = "" then tempprice = 0
tempprice = tempprice * selectlistvalue
else
tempprice = orders("featureprice")
if isnull(tempprice) then tempprice = 0
if trim(tempprice) = "" then tempprice = 0
otheramount = otheramount + tempprice
end if
end if
Orders.close
set Orders=Nothing
totalprice = cdbl(totalprice) + cdbl(tempprice)
end if
next
getfprice = totalprice
end function

Locate around line 181: within function getfpricepercent

Replace function getfpricepercent

to

function getfpricepercent (feaid,curprice)
if len(feaid) <= 0 then
getfpricepercent = 0
exit function
end if

if len(curprice) <= 0 then
getfpricepercent = 0
exit function
end if

if isnumeric(curprice) = false then
getfpricepercent = 0
exit function
end if

dim tempfeaidary(100),tempfeaidcnt
parserecord feaid,tempfeaidary,tempfeaidcnt,","

dim strsql,tempprice,orders,temppercent,icnt
totalprice = 0
tempprice = 0
for icnt = 0 to (tempfeaidcnt - 1)
if isnumeric(tempfeaidary(icnt)) = false or instr(tempfeaidary(icnt),",") > 0 then
else
strsql = "select featurepercent from prodfeatures where id=" & tempfeaidary(icnt)
Set Orders = Server.CreateObject("ADODB.Recordset")
orders.open strsql, dbc, adopenkeyset, adlockoptimistic
if not orders.eof then
temppercent = orders("featurepercent")
end if
Orders.close
set Orders=Nothing
if isnull(temppercent) then temppercent = 0
if trim(temppercent) = "" then temppercent = 0
if cdbl(temppercent) > 0 then
tempprice = (temppercent / 100) * curprice
totalprice = cdbl(totalprice) + cdbl(tempprice)
end if
end if
next
getfpricepercent = totalprice
end function

Save and test.

95b. shopaddtocart.asp

Locate around line 117: within sub ProcessNewAdd

Above

GetInputValues(strinputarray(icnt))

Add

setsess "tempfeatureotherpricing",""

Locate around line 399: within sub ReCalculate

Below

dim i2,salescode

Add

dim selectlistpos1,selectlistpos2,selectlistvalue

Locate around line 467: within sub ReCalculate

Modify

ProductPrice = ProductPrice + getfprice(arrCart(cProductFeatures,i))

to

if trim(arrCart(cfeatureotherpricing,i)) <> "" then
if instr(arrCart(cfeatureotherpricing,i),"-selectlistprice=[") > 0 then
selectlistpos1 = instr(arrCart(cfeatureotherpricing,i),"-selectlistprice=[") + len("-selectlistprice=[") - 1
selectlistpos2 = instr(mid(arrCart(cfeatureotherpricing,i),selectlistpos1+1,len(arrCart(cfeatureotherpricing,i)) - selectlistpos1 + 1),"]")
selectlistvalue = mid(arrCart(cfeatureotherpricing,i),selectlistpos1+1,selectlistpos2-1)
else
selectlistvalue = 0
end if
else
selectlistvalue = 0
end if
ProductPrice = ProductPrice + getfprice(arrCart(cProductFeatures,i)) + selectlistvalue

Save and test.

95c. shopsessionsubs.asp

Locate around line 342: within sub RequestCookieCart

Modify

dim arrcount, dataarea, Temparray(26), tempcount

to

dim arrcount, dataarea, Temparray(29), tempcount

Locate around line 361: within sub RequestCookieCart

Modify

for j = 1 to CartAttributes -1

to

for j = 1 to CartAttributes

Save and test.

95d. shopsavecart.asp

Locate around line 233: within sub SessionRestoreCart

Modify

dim arrcount, dataarea, Temparray(28), tempcount

to

dim arrcount, dataarea, Temparray(29), tempcount

Save and test.

95e. shopproductfeaturesprocess.asp

Locate around line 193: within sub ProcessSelectList

Below

Featurearray(cfeatureprice, featurecount) = price

Add

dim tempstring
tempstring = getsess("tempfeatureotherpricing")
setsess "tempfeatureotherpricing",tempstring & "-selectlistprice=["& price &"]"

Locate around line 323: within sub ProcessFeatureQuantity

Below

totalnewquantity = 0

Add

dim tempstring

Locate around line 339: within sub ProcessFeatureQuantity

Below

totalnewprice = totalnewprice + newprice

Add

tempstring = getsess("tempfeatureotherpricing")
setsess "tempfeatureotherpricing",tempstring & "-selectquantity=["& quantity &"]"

Save and test.

95f. shopproductfeatures.asp

Locate around line 171: within sub CartAddItem

Below

ArrCart(cProductmininame, scartItem) = strcname

Add

ArrCart(cfeatureotherpricing, scartItem) = getsess("tempfeatureotherpricing")

Save and test.

95g. shop$db.asp

Locate around line 58

Modify

const cMaxCartAttributes=27

to

const cMaxCartAttributes=28

Locate around line 89

Below

const cproducttype=27

Add

const cfeatureotherpricing=28

Save and test.

95h. admin/admin$db.asp

Locate around line 58

Modify

const cMaxCartAttributes=27

to

const cMaxCartAttributes=28

Locate around line 89

Below

const cproducttype=27

Add

const cfeatureotherpricing=28

Save and test.

96. shop$db.asp

Locate around line 753:within function GenPageSQL

Modify

mysql2 = "select distinct top "& (clng(mypagesize) * clng(mypage)) &" "& tempfieldstring2 &" from (" & mysql2 & ") as queries "
mysql2 = mysql2 & " where (RowNumber <= "& clng(mypage) * clng(mypagesize) &" AND RowNumber >= "& ((clng(mypage)-1) * clng(mypagesize)) + 1 &")"

to

if right(tempfieldstring2,1) <> "*" then
mysql2 = "select distinct top "& (clng(mypagesize) * clng(mypage)) &" "& tempfieldstring2 &",RowNumber from (" & mysql2 & ") as queries "
else
mysql2 = "select distinct top "& (clng(mypagesize) * clng(mypage)) &" "& tempfieldstring2 &" from (" & mysql2 & ") as queries "
end if
mysql2 = mysql2 & " where (RowNumber <= "& clng(mypage) * clng(mypagesize) &" AND RowNumber >= "& ((clng(mypage)-1) * clng(mypagesize)) + 1 &") order by RowNumber"

Save and test.

97a. shophpmgr.asp

Locate around line 1196:within sub getminicartsectionhtml2

Modify

if getsess("OrderTotal") > 0 then

to

if getsess("CartCount") > 0 then

Locate around line 1351:within sub getminicartsectionhtml

Modify

if getsess("OrderTotal") > 0 then

to

if getsess("CartCount") > 0 then

Save and test.

97b. shopcartformatdesign.asp

Locate around line 86:within sub CartFormatProductTotal

Modify

if cartisubtotal > 0 then

to

if getsess("CartCount") > 0 then

Locate around line 121:within sub CartFormatTotal

Modify

if carttotal = 0 then

to

if getsess("CartCount") = 0 then

Save and test.

97c. shopfileio.asp

Locate around line 767:within sub DoSpecialFormating

Modify

if value > 0 then
value=ShopFormatCurrency(value,GetConfig("xdecimalpoint"))
else
value = ""
end if

to

value=ShopFormatCurrency(value,GetConfig("xdecimalpoint"))

Save and test.

98. shopproductcreatesql.asp

Locate around line 671:within sub SearchGenerateSQLv2

Modify

if xSearchSortField <> "" then

to

if xSearchSortField <> "" and InStr(strproductfields,xSearchSortField) = 0 then

Save and test.

99. admin/admin$db.asp

Locate around line 58

Modify

const cMaxCartAttributes=27

to

const cMaxCartAttributes=28

Locate around line 89

Below

const cproducttype=27

Add

const cfeatureotherpricing=28

Save and test.

100. shopproductsubs.asp

Locate around line 1077:within sub NavigateShowMiniCartCssStyled

Modify

pname

to

htmlwrite pname

Save and test.

101a. admin/shopa_addcategory.asp

Locate around line 928:within sub GenerateCategoryLinks

Modify

if j = -1 then exit for ' not found

to

if j <> -1 then

Locate around line 942:within sub GenerateCategoryLinks

Above

loop

Add

else
highercategoryid = 0
end if

Save and continue 101b.

101b. admin/shopa_addproduct.asp

Locate around line 1936:within sub GenerateCategoryLinks

Modify

if j = -1 then exit for ' not found

to

if j <> -1 then

Locate around line 1951:within sub GenerateCategoryLinks

Above

loop

Add

end if

Save and test.

102. admin/shopa_featureedit.asp

Locate around line 463:within sub insertnewfeature

Modify

sql = sql & ",'" & featurecaption & "'" sql = sql & ",'" & featurename & "'"

to

sql = sql & ",'" & tosql(featurecaption,"Text") & "'" sql = sql & ",'" & tosql(featurename,"Text") & "'"

Locate around line 507:within sub Updatefeatures

Modify

Modify

sql = "update " & dbtable & " set featurename='" & featurename & "'" sql = sql & ",featurecaption='" & featurecaption & "'"

to

sql = "update " & dbtable & " set featurename='" & tosql(featurename,"Text") & "'" sql = sql & ",featurecaption='" & tosql(featurecaption,"Text") & "'"

Save and test.

103. shopfileio.asp

Locate around line 360:within sub Substitute

Modify

workrecord = replace(Newrecord,vbcrlf,"<br />")

to

if istable(Newrecord) = false then workrecord = replace(Newrecord,vbcrlf,"<br />") else workrecord = Newrecord end if

Locate end of the file.

Above

%>

Add

'check is the string html coding
function istable (passstring)
dim tempstring, intStartPos, intEndPos

tempstring = passstring
if instr(lcase(tempstring),"<body") > 0 or instr(lcase(tempstring),"<html") > 0 or instr(lcase(tempstring),"<table") > 0 or instr(lcase(tempstring),"<td") > 0 or instr(lcase(tempstring),"<tr") > 0 or instr(lcase(tempstring),"<form") > 0 or instr(lcase(tempstring),"<img") or instr(lcase(tempstring),"<span") then
istable = true
else
istable = false
end if
end function

Save and test.

104a. shopxmysite.asp

Locate around line 19:within sub initxmysite

Remove

if len(xadminfolder) <= 0 then
else
if instr(xMySite,xadminfolder) > 0 then
if trim(xadminfolder) <> "" then
xmysite = replace(xMySite,xadminfolder & "/","")
xmysite = replace(xMySite,xadminfolder & "\","")
end if
end if
end if

Save and continue to 104b.

104b. shop$db.asp

Locate around line 3486:within function RealSubFolderName

Replace

if trim(xadminfolder) <> "" then
thename = replace(thename,xadminfolder & "/","")
thename = replace(thename,xadminfolder & "\","")
end if

to

if lcase(right(thename,len(xadminfolder))) = lcase(xadminfolder) then
thename = mid(thename,1,len(thename)-len(xadminfolder))
elseif lcase(right(thename,len(xadminfolder)+1)) = lcase(xadminfolder & "/") or lcase(right(thename,len(xadminfolder)+1)) = lcase(xadminfolder & "\") then
thename = mid(thename,1,len(thename)-len(xadminfolder)-1)
end if

Locate around line 3506:within function RealSubFolderNameOnly

Modify

if trim(xadminfolder) <> "" then
thename = replace(mid(pstr,2,scriptnamelength),xadminfolder & "/","")
thename = replace(mid(pstr,2,scriptnamelength),xadminfolder & "\","")
else
thename = mid(pstr,2,scriptnamelength)
end if

to

thename = mid(pstr,2,scriptnamelength)

Save and continue to 104c.

104c. admin/adminxmysite.asp

Locate around line 19:within sub initxmysite

Remove

if len(xadminfolder) <= 0 then
else
if instr(xMySite,xadminfolder) > 0 then
if trim(xadminfolder) <> "" then
xmysite = replace(xMySite,xadminfolder & "/","")
xmysite = replace(xMySite,xadminfolder & "\","")
end if
end if
end if

Save and continue to 104d.

104d. admin/admin$db.asp

Locate around line 3403:within function RealSubFolderName

Replace

if trim(xadminfolder) <> "" then
thename = replace(thename,xadminfolder & "/","")
thename = replace(thename,xadminfolder & "\","")
end if

to

if lcase(right(thename,len(xadminfolder))) = lcase(xadminfolder) then
thename = mid(thename,1,len(thename)-len(xadminfolder))
elseif lcase(right(thename,len(xadminfolder)+1)) = lcase(xadminfolder & "/") or lcase(right(thename,len(xadminfolder)+1)) = lcase(xadminfolder & "\") then
thename = mid(thename,1,len(thename)-len(xadminfolder)-1)
end if

Locate around line 3454:within function RealSubFolderNameOnlyWithoutAdmin

Modify

if trim(xadminfolder) <> "" then
thename = replace(mid(pstr,2,scriptnamelength),xadminfolder & "/","")
thename = replace(mid(pstr,2,scriptnamelength),xadminfolder & "\","")
else
thename = mid(pstr,2,scriptnamelength)
end if

to

thename = mid(pstr,2,scriptnamelength)

Save and continue to 104e.

104e. admin/editor/assetmanager/checkadmin.asp

Replace function RealSubFolderNameOnlyWithoutAdmin

to

function RealSubFolderNameOnlyWithoutAdmin(pstr)
dim thename
thename = session("xmysite")
RealSubFolderNameOnlyWithoutAdmin = thename
end function

Save and test.

105. templates\yourtemplate\tmp_generateheader.htm

Locate around line 25.

Modify

<td><img src="../images/header/logo.gif" width="150" height="33" id="logo" alt="Logo" title="Logo" /></td>

to

<td><img src="../images/default/vpasp.gif" width="150" height="33" id="logo" alt="Logo" title="Logo" /></td>

Save and test.

106. shoppinnumbers.asp

Locate around line 113:within sub Generatepinnumber

Modify

if lcase(pinproductmatch)<>"CatalogId" then

to

if lcase(pinproductmatch)<>"catalogid" then

Save and test.

107. shopfileio.asp

Locate around line 2262:within function GetEmaildownloadLink

Modify

if cint(arrayemaillinks(i,0))=cint(CatalogId) then

to

if cint(arrayemaillinks(i,0))=clng(CatalogId) then

Save and test.

108. shopnewproductsub.asp

Locate around line 76: within routine sub Generatesqlnewproducts.

Modify

sql = "select distinct p.catalogid from products p, prodcategories cc, categories c " & wherestr

to

sql = "select distinct p.catalogid,p.cdateadded from products p, prodcategories cc, categories c " & wherestr

Save and test.

109a. admin/shopa_featureedit.asp

Locate around line 1079: within routine sub FeaturesProducts.

Modify

if instr(lcase(xdatabasetype),"mysql") > 0 then
sql = "select catalogid,cname from products where CONCAT(',',features,',') like ',%"& strfeatures &"%,' limit 20"
else
sql = "select top 20 catalogid,cname from products where ',' + features + ',' like ',%"& strfeatures &"%,'"
end if

to

if instr(lcase(xdatabasetype),"mysql") > 0 then
sql = "select catalogid,cname from products where CONCAT(',',features,',') like '%,"& strfeatures &",%' limit 20"
else
sql = "select top 20 catalogid,cname from products where ',' + features + ',' like '%,"& strfeatures &",%'"
end if

Save and continue to 109b.

109b. admin/shopa_displayrelfeatureprod.asp

Locate around line 75: within routine sub GenerateSQLEditDisplayProdFeatures.

Modify

if instr(lcase(xdatabasetype),"mysql") > 0 then
MySql = "select catalogid,cname from products where concat(',',features,',') like ',%"& strfeatures &"%,'"
else
MySql = "select catalogid,cname from products where ',' + features + ',' like ',%"& strfeatures &"%,'"
end if

to

if instr(lcase(xdatabasetype),"mysql") > 0 then
MySql = "select catalogid,cname from products where concat(',',features,',') like '%,"& strfeatures &",%'"
else
MySql = "select catalogid,cname from products where ',' + features + ',' like '%,"& strfeatures &",%'"
end if

Save and test.

110. Please refer to #152.

111a. shopproductsubs2.asp

Locate around line 140: within routine sub Navigateshowcurrencies.

Modify

HtmlWrite "<option value=""shopcurrency.asp?CID=" &rs("cid") & "&goback=yes""" & checked & ">" & rs("fullunitname")& "</option>" & vbcrlf

to

HtmlWrite "<option value="""& xmysite2 &"/shopcurrency.asp?CID=" &rs("cid") & "&goback=yes""" & checked & ">" & rs("fullunitname")& "</option>" & vbcrlf

Save and continue to 111b.

111b. shoplanguagesubs.asp

Locate around line 26: within routine sub Navigateshowlanguages.

Modify

url = "shoplanguageset.asp?LG=" & server.urlencode(name)

to

if lcase(getsess("inadminflag")) = "yes" then
url = "shoplanguageset.asp?LG=" & server.urlencode(name)
else
url = xmysite2 & "/shoplanguageset.asp?LG=" & server.urlencode(name)
end if

Save and test.

112. admin/admin$db.asp

Locate around line 3206: within function addHTMLEditor

Modify

<pre id="idTemporary_<%=fieldname%>" name="idTemporary_<%=fieldname%>" style="display:none"><%if textdata > "" then response.write textdata%></pre>

to

<pre id="idTemporary_<%=fieldname%>" name="idTemporary_<%=fieldname%>" style="display:none"><%if textdata > "" then response.write Server.HTMLEncode(textdata)%></pre>

Save and test.

113. shoppinnumbers.asp

Locate around line 113:within sub Generatepinnumber

Modify

if lcase(pinproductmatch)<>"CatalogId" then

to

if lcase(pinproductmatch)<>"catalogid" then

Save and test.

114. admin/shopa_pinorder.asp

Locate around line 391:within sub mailgeneric

Modify

newsubject = subject & GetLang("langmailordernumber") & " " & orderid

to

newsubject = subject & " " & GetLang("langmailordernumber") & " " & orderid

Save and test.

115. admin/admin/shopa_featureedit.asp

Locate around line 380:within sub Deletefeature

Modify

sql = "delete * from " & dbtable & " where featurenum = " & featureid

to

sql = "delete from " & dbtable & " where featurenum = " & featureid

Save and test.

116. admin/admin/shopa_featureedit.asp

Locate around line 893:within sub WriteFeatureRow

Modify

<a href="javascript:popUp('<%=featureimage%>')"><%=GetLang("LangCommonView")%></a>

to

<%response.write getactualfileslocation(request.ServerVariables("SCRIPT_NAME"), featureimage, GetLang("langcommonview"), "_blank", "yes")%>

Save and test.

117 & 118a. shopfileio.asp

Locate around line 40:within sub OpenInputFile

Replace whole sub OpenInputFile

to

sub OpenInputFile (filename, fsObj, RecordObj, rc)
if lcase(left(filename,10)) = "templates/" then filename = xmysite2 & "/" & filename
on error resume next
dim whichfile, dbfile, xtemplate, cmpstr1, cmpstr2, cmpstr3
xtemplate = getconfig("xtemplate")
cmpstr1 = lcase(filename)
cmpstr2 = lcase(xmysite2 & "/templates/"& xtemplate &"/")
dbfile=left(replace(cmpstr1,cmpstr2,""),3)
if lcase(dbfile)="db=" then
OpenInputFiledb replace(cmpstr1,cmpstr2,""), fsObj, RecordObj, rc
exit sub
end if

dim dpos, dposstr
dpos = instr(cmpstr1,"/" & "templates/")
if dpos = 0 then dpos = instr(cmpstr1,"\" & "templates\")
dposstr = mid(filename, dpos, len(filename) - dpos + 1)

dim realfilename
realfilename = lcase(dposstr)
cmpstr2 = lcase("/" & "templates/" & xtemplate & "/")
cmpstr3 = lcase("\" & "templates/" & xtemplate & "\")
realfilename = replace(realfilename,cmpstr2,"")
realfilename = replace(realfilename,cmpstr3,"")

'700 - getting real subfolder name
dim infolder
infolder = server.mappath(filename)
infolder = replace(lcase(infolder),lcase(dposstr),"")
infolder = replace(lcase(infolder),replace(lcase(dposstr),"/","\"),"")

whichfile=infolder & "\" & "templates\" & xtemplate & "\" & realfilename
set fsObj = Server.CreateObject("Scripting.FileSystemObject")
set RecordObj= fsObj.OpenTextFile(whichfile, 1, False)
if err.number > 0 then
rc=4
fsObj.close
set fsObj=nothing
else
rc=0
end if
end sub

Save and continue to 117 & 118b.

117 & 118b. admin/adminfileio.asp

Locate around line 30:within sub OpenInputFile

Replace whole sub OpenInputFile

to

sub OpenInputFile (filename, fsObj, RecordObj, rc)
if lcase(left(filename,10)) = "templates/" then filename = xmysite2 & "/" & filename
on error resume next
dim whichfile, dbfile, xtemplate, cmpstr1, cmpstr2, cmpstr3
xtemplate = getconfig("xtemplate")
cmpstr1 = lcase(filename)
cmpstr2 = lcase(xmysite2 & "/templates/"& xtemplate &"/")
dbfile=left(replace(cmpstr1,cmpstr2,""),3)
if lcase(dbfile)="db=" then
OpenInputFiledb replace(cmpstr1,cmpstr2,""), fsObj, RecordObj, rc
exit sub
end if

dim dpos, dposstr
dpos = instr(cmpstr1,"/" & "templates/")
if dpos = 0 then dpos = instr(cmpstr1,"\" & "templates\")
dposstr = mid(filename, dpos, len(filename) - dpos + 1)

dim realfilename
realfilename = lcase(dposstr)
cmpstr2 = lcase("/" & "templates/" & xtemplate & "/")
cmpstr3 = lcase("\" & "templates/" & xtemplate & "\")
realfilename = replace(realfilename,cmpstr2,"")
realfilename = replace(realfilename,cmpstr3,"")

'700 - getting real subfolder name
dim infolder
infolder = server.mappath(filename)
infolder = replace(lcase(infolder),lcase(dposstr),"")
infolder = replace(lcase(infolder),replace(lcase(dposstr),"/","\"),"")

whichfile=infolder & "\" & "templates\" & xtemplate & "\" & realfilename
set fsObj = Server.CreateObject("Scripting.FileSystemObject")
set RecordObj= fsObj.OpenTextFile(whichfile, 1, False)
if err.number > 0 then
rc=4
fsObj.close
set fsObj=nothing
else
rc=0
end if
end sub

Save and test.

119. shopexd.asp

Locate around line 60.

Modify

if getconfig("xSEODynamicProductsEnable") = "Yes" then

to

if getconfig("xSEODynamicEnable") = "Yes" and getconfig("xSEODynamicProductsEnable") = "Yes" then

Locate around line 66.

Modify

breadcrumblink = breadcrumblink & subcatseparator & " " & bccategoryname

to

breadcrumblink = breadcrumblink & subcatseparator & " "
dim catmylink
genseocategoryproductlink catmylink,tmpRS("ccategory"),bccategoryname,bccategoryname,"","Yes"
breadcrumblink = breadcrumblink & catmylink

Save and test.

120. shopimageswatches.asp

Locate around line 25: within routine Sub handle_imageswatches.

Above

if trim(swatchrs("extendedimage")) <> "" then

Add

dim tempimagealt
tempimagealt = TranslateLanguage(dbc, "products", "cname","CatalogId", swatchrs("CatalogId"), swatchrs("cname"))

Locate around line 28: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img class=""main_image"" src=""" & swatchrs("extendedimage") & """ alt=""" & swatchrs("cname") & """ name=""pimage"" />"

to

swatchimage = swatchimage & "<img class=""main_image"" src=""" & swatchrs("extendedimage") & """ alt=""" & tempimagealt & """ name=""pimage"" />"

Locate around line 31: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img class=""main_image"" src=""" & GetConfig("xnoimage") & """ alt=""" & swatchrs("cname") & """ name=""pimage"" />"

to

swatchimage = swatchimage & "<img class=""main_image"" src=""" & GetConfig("xnoimage") & """ alt=""" & tempimagealt & """ name=""pimage"" />"

Locate around line 39: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage") & "' alt='" & swatchrs("cname") & "' /></a>"

to

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage") & "' alt=""" & tempimagealt & """ /></a>"

Locate around line 47: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage1") & "' alt='" & swatchrs("cname") & "' /></a>"

to

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage1") & "' alt=""" & tempimagealt & """ /></a>"

Locate around line 54: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage2") & "' alt='" & swatchrs("cname") & "' /></a>"

to

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage2") & "' alt=""" & tempimagealt & """ /></a>"

Locate around line 61: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage3") & "' alt='" & swatchrs("cname") & "' /></a>"

to

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage3") & "' alt=""" & tempimagealt & """ /></a>"

Locate around line 68: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage4") & "' alt='" & swatchrs("cname") & "' /></a>"

to

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage4") & "' alt=""" & tempimagealt & """ /></a>"

Locate around line 75: within routine Sub handle_imageswatches.

Modify

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage5") & "' alt='" & swatchrs("cname") & "' /></a>"

to

swatchimage = swatchimage & "<img src='" & swatchrs("extendedimage5") & "' alt=""" & tempimagealt & """ /></a>"

Save and test.

121. shopnewproductsub.asp

Locate around line 119: within routine sub Generatesqlnewproducts.

Below

sql = ""

Add

exit sub

Save and test.

122. shophpmgr.asp

Locate around line 1432: within routine function translatehpmgrcaptions.

Modify

translatehpmgrcaptions

to

translatehpmgrcaptions = ""

Save and test.

123. shopmysqlsubs.asp

Locate around line 92: within routine sub mysqltextfield.

Modify

isql = isql & fieldname & "='" & tfieldvalue & "'"

to

isql = isql & fieldname & "='" & tosql(tfieldvalue,"Text") & "'"

Save and test.

124. shopseosubs.asp

Locate around line 32: within routine sub getblogsmessagetype.

Remove

setsess "seoblogstype",""

Locate around line 47: within routine sub getnewsmessagetypee.

Remove

setsess "seonewstype",""

Locate around line 62: within routine sub getseocat_id.

Remove

setsess "seocategoryid",""

Locate around line 77: within routine sub getseohighercategoryid.

Remove

setsess "seohighercategoryid",""

Locate around line 87: within routine sub getseocat_name.

Remove

setsess "seocategoryname",""

Locate around line 102: within routine sub getseocatalogid.

Remove

setsess "seocatalogid",""

Save and test.

125. shopproductcreatesql.asp

Locate around line 696 within routine sub SearchGenerateSQLv2.

Modify

SQL = SQL & "p." & searchfields(j) & " Like '%" & tword & "%' "

to

SQL = SQL & "p." & searchfields(j) & " Like '%" & tosql(tword,"Text") & "%' "

Locate around line 719 within routine sub SearchGenerateSQLv2.

Modify

SQL = SQL & "p." & searchfields(j) & " Like '%" & tword & "%' "

to

SQL = SQL & "p." & searchfields(j) & " Like '%" & tosql(tword,"Text") & "%' "

Locate around line 739 within routine sub SearchGenerateSQLv2.

Modify

SQL = SQL & "p." & searchfields(j) & " LIKE '%" & exactString & "%' "

to

SQL = SQL & "p." & searchfields(j) & " LIKE '%" & tosql(exactString,"Text") & "%' "

Locate around line 763 within routine sub SearchGenerateSQLv2.

Modify

SQL = SQL & "p." & searchfields(j) & " LIKE '%" & tword & "%'"

to

SQL = SQL & "p." & searchfields(j) & " LIKE '%" & tosql(tword,"Text") & "%'"

Locate around line 777 within routine sub SearchGenerateSQLv2.

Below

if ucase(chosencategory) <> "ALL" then

Add

if isnumeric(chosencategory) = false then chosencategory = 0

Save and test.

126. shop$db.asp

Locate around line 2237 within routine sub LocateCustomer.

Modify

sql=sql & whereok & " lastname='" & templastname & "'"

to

sql=sql & whereok & " lastname='" & tosql(templastname,"Text") & "'"

Locate around line 2242 within routine sub LocateCustomer.

Modify

SQL = SQL & whereok & " email='" & temail & "'"

to

SQL = SQL & whereok & " email='" & tosql(temail,"Text") & "'"

Locate around line 2244 within routine sub LocateCustomer.

Modify

SQL = SQL & whereok & " userid='" & temail & "'"

to

SQL = SQL & whereok & " userid='" & tosql(temail,"Text") & "'"

Locate around line 2248 within routine sub LocateCustomer.

Modify

SQL = SQL & " AND " & " password='" & passwordvalue & "'"

to

SQL = SQL & " AND " & " password='" & tosql(passwordvalue,"Text") & "'"

Save and test.

127. shopcontent.asp

Locate around line 77 within routine sub FormatContent.

Modify

GetContentSQL = "select ContentId from content WHERE MessageType = '" & MessageType & "'"

to

GetContentSQL = "select ContentId from content WHERE MessageType = '" & tosql(MessageType,"Text") & "'"

Locate around line 138 within routine sub GenerateContentSQL.

Modify

sql="select * from content where MessageType='" & MessageType & "'"

to

sql="select * from content where MessageType='" & tosql(MessageType,"Text") & "'"

Locate around line 163 within routine sub WriteImpressions.

Modify

dbc.execute("UPDATE content SET impressions = impressions + 1 WHERE MessageType LIKE '" & MessageType &"'")

to

dbc.execute("UPDATE content SET impressions = impressions + 1 WHERE MessageType LIKE '" & tosql(MessageType,"Text") &"'")

Save and test.

128. shopblogs.asp

Locate around line 127 within routine sub GenerateContentSQL.

Modify

sql="select * from blogs where MessageType='" & MessageType & "'"

to

sql="select * from blogs where MessageType='" & tosql(MessageType,"Text") & "'"

Save and test.

129. shopnews.asp

Locate around line 127 within routine sub GenerateContentSQL.

Modify

sql="select * from news where MessageType='" & MessageType & "'"

to

sql="select * from news where MessageType='" & tosql(MessageType,"Text") & "'"

Save and test.

130. shopfileio.asp

Locate around line 2298 within routine function istable.

Modify

if instr(lcase(tempstring),"<body") > 0 or instr(lcase(tempstring),"<html") > 0 or instr(lcase(tempstring),"<table") > 0 or instr(lcase(tempstring),"<td") > 0 or instr(lcase(tempstring),"<tr") > 0 or instr(lcase(tempstring),"<form") > 0 or instr(lcase(tempstring),"<img") then

to

if instr(lcase(tempstring),"<body") > 0 or instr(lcase(tempstring),"<html") > 0 or instr(lcase(tempstring),"<table") > 0 or instr(lcase(tempstring),"<td") > 0 or instr(lcase(tempstring),"<tr") > 0 or instr(lcase(tempstring),"<form") > 0 or instr(lcase(tempstring),"<img") or instr(lcase(tempstring),"<span") then

Save and test.

131. admin/shopa_addproduct.asp

Locate around line 952 within routine sub PHeaderRow.

Modify

HtmlWritee "<tr bgcolor='#c7cc31'>" & ReportHeadColumn & "<b>" & caption & "</b>" & tablecolumnend

to

HtmlWrite "<tr bgcolor='#c7cc31'>" & ReportHeadColumn & "<b>" & caption & "</b>" & tablecolumnend

Save and test.

132a. admin/shopa_addcategory.asp

Locate around line 942:within sub GenerateCategoryLinks

Above

end if
loop

Add

else
highercategoryid = 0

Save and continue 132b.

132b. admin/shopa_addproduct.asp

Locate around line 1951:within routine sub GenerateCategoryLinks

Above

end if
loop

Add

else
highercategoryid = 0

Save and test.

133. shopfiltering.asp

Locate around line 36:within routine sub GetInput

Modify

if trim(itemsperpage) = "" then itemsperpage = 20

to

if trim(itemsperpage) = "" or isnumeric(itemsperpage) = false then itemsperpage = 20

Save and test.

134. shopcms.asp

Locate around line 222:within routine sub ShowNewsBox

Below

strsql=strsql & getnewscustomersql(customerid,"news")

Add

strsql=strsql & " order by news.cdateadded desc"

Locate around line 744:within routine sub ShowBlogsBox

Below

strsql=strsql & getnewscustomersql(customerid,"blogs")

Add

strsql=strsql & " order by blogs.cdateadded desc"

Save and test.

135. shop$db.asp

Locate around line 3595: within routine sub generatebaseurl

Replace sub generatebaseurl to

sub generatebaseurl
if lcase(request.ServerVariables("HTTPS")) = "on" then
if xssl <> "" then
htmlwrite "<base href="""& xssl &"/"" />"
else
if xmysite <> "" then
htmlwrite "<base href="""& xmysite &"/"" />"
else
htmlwrite "<base href=""https://"& request.ServerVariables("HTTP_HOST") & xmysite2 &"/"" />"
end if
end if
else
if xmysite <> "" then
htmlwrite "<base href="""& xmysite &"/"" />"
else
htmlwrite "<base href=""http://"& request.ServerVariables("HTTP_HOST") & xmysite2 &"/"" />"
end if
end if
end sub

Save and test.

136. admin/shopadmin.asp or renamed admin login page

Locate around line 18.

Modify

xadminpage = request.ServerVariables("SCRIPT_NAME")

to

xadminpage = replace(request.ServerVariables("SCRIPT_NAME"),xmysite2 & "/" & xadminfolder & "/","")

Save and test.

137. shoprotabs.asp

Locate around line 100: within routine Sub Handle_producttabs.

Modify

producttabs.setpersist(true)

to

producttabs.setpersist(false)

Save and test.

138. shopfileio.asp

Locate around line 795: within routine sub DoSpecialFormating.

Above

if GetConfig("xdisplayprices") <> "No" then

Add

if parseRS("taxfree") = true or lcase(parseRS("taxfree")) = "true" or parseRS("taxfree") = 1 or parseRS("taxfree") = "1" then
value = ""
exit sub
end if

Locate around line 895: within routine sub DoSpecialFormating.

Above

if GetConfig("xdisplayprices") <> "No" then

Add

if parseRS("taxfree") = true or lcase(parseRS("taxfree")) = "true" or parseRS("taxfree") = 1 or parseRS("taxfree") = "1" then
value = ""
exit sub
end if

Save and test.

139. shop$db.asp

Locate around line 760: within routine function GenPageSQL.

Modify

mysql2 = "select distinct top "& (clng(mypagesize) * clng(mypage)) &" "& tempfieldstring2 &",RowNumber from (" & mysql2 & ") as queries "

to

mysql2 = "select distinct top "& (clng(mypagesize) * clng(mypage)) &" "& tempfieldstring2 &" from (" & mysql2 & ") as queries "

Locate around line 764: within routine function GenPageSQL.

Modify

mysql2 = mysql2 & " where (RowNumber <= "& clng(mypage) * clng(mypagesize) &" AND RowNumber >= "& ((clng(mypage)-1) * clng(mypagesize)) + 1 &") order by RowNumber"

to

mysql2 = mysql2 & " where (RowNumber <= "& clng(mypage) * clng(mypagesize) &" AND RowNumber >= "& ((clng(mypage)-1) * clng(mypagesize)) + 1 &") "

Save and test.

140. shopcustgrpsubs.asp

Locate around line 383: within routine function GenerateCustomerMatchSQL.

Modify

tempstring = tempstring & " "& whereok &" (',' + "& matchfield &" + ',' like '%," & CustomerProductGroups(icnt) & ",%' "

to

if instr(lcase(xdatabasetype),"mysql") > 0 then
tempstring = tempstring & " "& whereok &" (concat(',',"& matchfield &",',') like '%," & CustomerProductGroups(icnt) & ",%' "
else
tempstring = tempstring & " "& whereok &" (',' + "& matchfield &" + ',' like '%," & CustomerProductGroups(icnt) & ",%' "
end if

Locate around line 389: within routine function GenerateCustomerMatchSQL.

Modify

tempstring = tempstring & " or ',' + "& matchfield &" + ',' like '%," & CustomerProductGroups(icnt) & ",%' "

to

if instr(lcase(xdatabasetype),"mysql") > 0 then
tempstring = tempstring & " or concat(',',"& matchfield &",',') like '%," & CustomerProductGroups(icnt) & ",%' "
else
tempstring = tempstring & " or ',' + "& matchfield &" + ',' like '%," & CustomerProductGroups(icnt) & ",%' "
end if

Locate around line 401: within routine function GenerateCustomerMatchSQL.

Modify

tempstring = tempstring & " and (',' + "& exmatchfield &" + ',' not like '%," & CustomerProductGroups(icnt) & ",%' "

to

if instr(lcase(xdatabasetype),"mysql") > 0 then
tempstring = tempstring & " and (concat(',',"& exmatchfield &",',') not like '%," & CustomerProductGroups(icnt) & ",%' "
else
tempstring = tempstring & " and (',' + "& exmatchfield &" + ',' not like '%," & CustomerProductGroups(icnt) & ",%' "
end if

Locate around line 407: within routine function GenerateCustomerMatchSQL.

Modify

tempstring = tempstring & " and ',' + "& exmatchfield &" + ',' not like '%," & CustomerProductGroups(icnt) & ",%' "

to

if instr(lcase(xdatabasetype),"mysql") > 0 then
tempstring = tempstring & " and concat(',',"& exmatchfield &",',') not like '%," & CustomerProductGroups(icnt) & ",%' "
else
tempstring = tempstring & " and ',' + "& exmatchfield &" + ',' not like '%," & CustomerProductGroups(icnt) & ",%' "
end if

Save and test.

141. shopexd.asp

Locate around line 79.

Modify

if (tmprs("productmatch")) <> lcase(xproductmatch) then

to

if (tmprs("p.productmatch")) <> lcase(xproductmatch) then

Save and test.

142. shopdisplayproducts.asp

Locate around line 116: within routine sub ProcessFirst.

Remove

CleanseMessage category, rc
if rc> 0 then
category = ""
end if

Locate around line 124: within routine sub ProcessFirst.

Remove

CleanseMessage productname, rc
if rc>0 then
productname = ""
end if

Save and test.

143. shoplanguagesubs.asp

Locate around line 26: within routine sub Navigateshowlanguages.

Modify

url = xmysite2 & "/shoplanguageset.asp?LG=" & server.urlencode(name)

to

ss

if lcase(getsess("inadminflag")) = "yes" then
url = "shoplanguageset.asp?LG=" & server.urlencode(name)
else
url = xmysite2 & "/shoplanguageset.asp?LG=" & server.urlencode(name)
end if

Save and test.

144. shopkitaddtocart.asp

Locate around line 59.

Modify

atemp = split(CleanChars(request.form("hidfeaturestring")), "<#>")

to

ss

atemp = split(request.form("hidfeaturestring"), "<#>")

Save and test.

145. admin/shopa_generateseodynamicsubs.asp

Locate around line 217: Within routine sub generateseodynamiccategories.

Modify

if trim(hassubflag) = "Yes" then

to

ss

if trim(hassubflag) = "Yes" or trim(hassubflag) = trim(getlang("LangCommonYes")) then

Locate around line 298: Within routine sub generateseodynamiccategoryhassub.

Modify

if trim(hassubflag) = "Yes" then

to

ss

if trim(hassubflag) = "Yes" or trim(hassubflag) = trim(getlang("LangCommonYes")) then

Locate around line 403: Within routine sub generateseodynamiccategoryproducts.

Modify

if trim(hassubflag) = "Yes" then

to

ss

if trim(hassubflag) = "Yes" or trim(hassubflag) = trim(getlang("LangCommonYes")) then

Save and test.

146. admin/shopa_edittranslateproducts.asp

Locate around line 164: Within routine sub DisplayForm.

Below

memexdesc = rstemp("extendeddesc")

Add

productmetatitle = rstemp("productmetatitle")
productmetakeyword = rstemp("productmetakeyword")
productmetadescription = rstemp("productmetadescription")

Save and test.

147. shopcustomer.asp

Locate around line 31.

Above

'700 - Quick Admin Order Form
if getsess("fromquickorderpage") = "Yes" then

Add

'check if https
directsecuredform "shopcustomer.asp", "Yes"

Save and test.

148. shop$db.asp

Locate around line 3774: within routine sub directsecuredform.

Replace sub directsecuredform

to

sub directsecuredform (passstring,passflag)
if lcase(passflag)="yes" then
if lcase(request.ServerVariables("HTTPS")) = "off" then
if xssl <> "" and instr(lcase(xssl),"https") > 0 then
if right(xssl,1) = "/" then
responseRedirect xssl &""& passstring &""
else
responseRedirect xssl &"/"& passstring &""
end if
end if
end if
else
if lcase(request.ServerVariables("HTTPS")) = "on" then
responseRedirect "http://"& request.ServerVariables("HTTP_HOST") & xmysite2 &"/"& passstring &""
end if
end if
end sub

Save and test.

149. shopfileio.asp

Locate around line 2271: within routine sub Handle_NumberSubCats.

Modify

Set scrs = Server.CreateObject("ADODB.Recordset")
scrs.open scsql, dbc, adOpenDynamic, adLockOptimistic
if not scrs.eof then
response.write "(" & scrs("thecount") & ")"
else
response.write "(0)"
end if

to

dim scrs2
Set scrs2 = Server.CreateObject("ADODB.Recordset")
scrs2.open scsql, dbc, adOpenDynamic, adLockOptimistic
if not scrs2.eof then
response.write "(" & scrs2("thecount") & ")"
else
response.write "(0)"
end if
CloseRecordSet scrs2

Save and test.

150. shopproductsubs.asp

Locate around line 1550: within routine sub NavigateTopTen.

Modify

ShopOpenRecordSet strsql, rs, 10, 1

to

rs.open strsql, dbc, adOpenDynamic, adLockOptimistic

Locate around line 1601: within routine sub NavigateTopSeller.

Modify

ShopOpenRecordSet strsql, rs, howmanyitems, 1

to

rs.open strsql, dbc, adOpenDynamic, adLockOptimistic

Locate around line 2383: within routine sub NavigateFeaturedProducts.

Modify

ShopOpenRecordSet strsql, rs, 9999, 1

to

rs.open strsql, dbc, adOpenDynamic, adLockOptimistic

Save and test.

151. shopproductsubs.asp

Locate around line 3202: within routine Sub AddEditor.

Remove

document.forms.<%=formname%>.submit();

Save and test.

152. shopshippingcalc.asp

Locate around line 296: within routine sub HandleByWeight.

Below

TotalPrice = ShippingPrice + TotalPrice

Add

'Fix bug: base price added to shipcost
ShipCost = TotalPrice

Save and test.

153. shopcustomer.asp

Locate around line 221.

Remove

if cstr(getsess("smprice")) = "0" then
tempflagfresshiping = true
end if

Locate around line 221.

Modify

if tempflagfresshiping = false then

to

if tempflagfresshiping = false and cstr(getsess("smprice")) = "0" then

Save and test.

154. shopcustomer.asp

Locate around line 195.

Below

dim tempflagfresshiping

Add

'Bug Fixed - Currency coversion
dim currencycalculateflag
currencycalculateflag = false

Locate around line 226.

Below

setsess "smprice",ShipCost

Add

'Bug Fixed - Currency coversion
currencycalculateflag = true

Locate around line 232.

Above

ResponseRedirect GetSess("FollowonURL")

Add

'take care the currency conversion
dim Conversionvalue
Conversionvalue = getsess("Conversionvalue")
if Conversionvalue <> "" then
if cdbl(Conversionvalue) <> 1 and cdbl(Conversionvalue) <> 0 then
'Bug Fixed - Currency coversion
if currencycalculateflag then
shipcost = shipcost / Conversionvalue
end if
setsess "smprice",ShipCost
end if
end if

Save and test.

155. shopproductcreatesql.asp

Locate around line 391: within routine sub NewProductSQL.

Modify

sql = "select * from products p, prodcategories cc, categories c where "

to

dim strProductFields
dim i
dim strdistinct
strdistinct = "DISTINCTROW"
if ucase(xDatabaseType) = "SQLSERVER" or ucase(GetConfig("xDatabaseType")) = "SQLSERVER" then
strdistinct = "DISTINCT"
end if
strProductFields = GetSess("strProductFields")
if strProductFields = "" then
GetProductfields dbc
strProductFields = GetSess("strProductFields")
end if
sql = "select " & strdistinct & " " & strproductfields
sql = sql & " from products p, prodcategories cc, categories c where "

Save and test.

156. shopshippingcalc.asp

Locate around line 132: within routine sub GetShippingDatabase.

Modify

if getsess("javascriptstatus") = "" then
SQL = "SELECT * from shipmethods order by shipmethod"
else
SQL = "SELECT * from shipmethods WHERE ((shiproutine IS NULL) OR (shiproutine ='') (shiproutine IS NOT NULL) and (shiproutine <> 'upsxmlrealtime.asp') and (shiproutine <> 'fedex.asp') and (shiproutine <> 'austpostrealtime.asp') and (shiproutine <> 'canadapostxml.asp') and (shiproutine <> 'uspostalrealtime.asp')) "
end if

to

if getsess("javascriptstatus") = "" then
SQL = "SELECT * from shipmethods "
else
SQL = "SELECT * from shipmethods WHERE ((shiproutine IS NULL) OR (shiproutine ='') and (shiproutine <> 'upsxmlrealtime.asp') and (shiproutine <> 'fedex.asp') and (shiproutine <> 'austpostrealtime.asp') and (shiproutine <> 'canadapostxml.asp') and (shiproutine <> 'uspostalrealtime.asp')) "
end if

Locate around line 138: within routine sub GetShippingDatabase.

Above

dim shipcountry

Add

if getsess("javascriptstatus") <> "" then

Locate around line 157: within routine sub GetShippingDatabase.

Below

SQL = SQL & " and shipstate='" & shipstate & "'"
end if
end if

Add

end if

Locate around line 165: within routine sub GetShippingDatabase.

Modify

SQL = "SELECT * from shipmethods WHERE ((shiproutine IS NULL) OR (shiproutine ='') OR (shiproutine IS NOT NULL) and (shiproutine <> 'upsxmlrealtime.asp') and (shiproutine <> 'fedex.asp') and (shiproutine <> 'austpostrealtime.asp') and (shiproutine <> 'canadapostxml.asp') and (shiproutine <> 'uspostalrealtime.asp')) "
if GetConfig("xshippingbycountry") = "Yes" then
SQL = SQL & " and (shipcountry='" & shipcountrydefault & "' or shipcountry is null or shipcountry = ''"
end if
if GetConfig("xshippingbystate") = "Yes" then
SQL = SQL & " or shipstate='" & shipstatedefault & "' or shipstate is null or shipstate = '') "
else
SQL = SQL & " ) "
end if
SQL = SQL & " order by shipmethod"

to

SQL = "SELECT * from shipmethods WHERE ((shiproutine IS NULL) OR (shiproutine ='') and (shiproutine <> 'upsxmlrealtime.asp') and (shiproutine <> 'fedex.asp') and (shiproutine <> 'austpostrealtime.asp') and (shiproutine <> 'canadapostxml.asp') and (shiproutine <> 'uspostalrealtime.asp')) "
if GetConfig("xshippingbycountry") = "Yes" then
SQL = SQL & " and (shipcountry='" & shipcountrydefault & "' or shipcountry is null or shipcountry = ''"
end if
if GetConfig("xshippingbystate") = "Yes" then
if GetConfig("xshippingbycountry") = "Yes" then
SQL = SQL & " or shipstate='" & shipstatedefault & "' or shipstate is null or shipstate = '') "
else
SQL = SQL & " and (shipstate='" & shipstatedefault & "' or shipstate is null or shipstate = '') "
end if
else
if GetConfig("xshippingbycountry") = "Yes" then
SQL = SQL & " ) "
end if
end if
SQL = SQL & " order by shipmethod"

Save and test.

157. shopreadfile.asp

Locate around line 13: within routine sub ShopReadFile.

Modify

whichfile = server.mappath(filename)

to

whichfile = server.mappath(xmysite2 & "/" & filename)

Save and test.

158. shophpmgr.asp

Locate around line 1930: within routine sub processcontainerdivname.

Modify

navigateshowsearch "custom", sqlrs("otheroptions3")

to

navigateshowsearch "custom", "", sqlrs("otheroptions3")

Locate around line 1949: within routine sub processcontainerdivname.

Modify

navigateshowsearch "custom", sqlrs("otheroptions3")

to

navigateshowsearch "custom", "", sqlrs("otheroptions3")

Save and test.

159. shopfileio.asp

Locate around line 462: within routine sub FindInDatabase.

Remove

'fix for memcdescription
if lcase(fieldname)="cdescription" then
if memcdescription<>"" then
fieldvalue=memcdescription
end if
end if

Save and test.

160a. shopblogsreviewlist.asp

Locate around line 76: within routine sub Displayblogs.

Modify

ShopOpenRecordSet SQL,objRS, mypagesize, mypage

to

if ucase(xDatabaseType) = "SQLSERVER" then
OpenRecordSet dbc,objRS,SQL
else
ShopOpenRecordSet SQL,objRS, mypagesize, mypage
end if

Continue to 160b.

160b. shopblogsreviewlist.asp

Locate around line 76: within routine sub DisplayNews.

Modify

ShopOpenRecordSet SQL,objRS, mypagesize, mypage

to

if ucase(xDatabaseType) = "SQLSERVER" then
OpenRecordSet dbc,objRS,SQL
else
ShopOpenRecordSet SQL,objRS, mypagesize, mypage
end if

Save and test.

161. paypalprodpshoppayment.asp

Locate around line 142: within routine Sub GetDatabaseRecord.

Modify

pcountry = orders("ocountry")

to

pcountry = orders("ocountry")
if ucase(pcountry) = "UK" then
pcountry = "GB"
end if

Locate around line 161: within routine Sub GetDatabaseRecord.

Modify

shipcountry = orders("oshipcountry")

to

shipcountry = orders("oshipcountry")
if ucase(shipcountry) = "UK" then
shipcountry = "GB"
end if

Save and test.

162a. shopcustregister.asp

Locate around line 221: within routine sub UpdateCustomer.

Modify

sql=sql & whereok & " lastname='" & templastname & "'"

to

sql=sql & whereok & " lastname='" & tosql(templastname,"Text") & "'"

Save and continue to 162b.

162b. shop$db.asp

Locate around line 2242: within routine sub LocateCustomer.

Modify

if lastname<>"" then
templastname=replace(lastname,"'","''")
end if

to

templastname = lastname

Save and test.

163a. shopcustomer.asp

Locate around line 173.

Above

SError=""
ValidateData()

Add

session("currentfreeshippingstatus") = ""

Locate around line 221.

Above

if tempflagfresshiping = false and cstr(getsess("smprice")) = "0" then

Add

if lcase(session("currentfreeshippingstatus")) = "yes" then tempflagfresshiping = true

Save and continue to 163b.

163b. shopshippingcalc.asp

Locate around line 716: within routine sub HandleFreeShipping.

Below

CalculateShippingdetails dbc, shiptotalWeight, shiptotalfeatureweight, shiptotalcost, shiptotalquantity
if shiptotalcost = 0 then

Add

session("currentfreeshippingstatus") = "Yes"

Save and test.


Times Viewed:
5158
Added By:
Bobby Chua
Date Created:
12/10/2009
Last Updated:
5/13/2010
Back Search other topics Submit a Ticket