Skip to content

Commit 0ed66bf

Browse files
committed
Checkout page: don't show shipping options if products don't require shipping (digital products), don't show payment options if total is zero (for free digital products download)
1 parent d622cb4 commit 0ed66bf

File tree

18 files changed

+234
-60
lines changed

18 files changed

+234
-60
lines changed

admin/sql/mysqli/post.sql

+3-3
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@
267267
)
268268
BEGIN
269269

270-
SELECT _.*,pd.*,ad.admin_id,ad.username,ad.display_name,ad.email
270+
SELECT _.*,pd.*,_.post_id,ad.admin_id,ad.username,ad.display_name,ad.email
271271

272272
@IF isset(:comment_count)
273273
THEN
@@ -300,12 +300,12 @@
300300

301301
WHERE 1 = 1
302302

303-
@IF isset(:slug)
303+
@IF isset(:slug) && !(isset(:post_id) && :post_id)
304304
THEN
305305
AND pd.slug = :slug
306306
END @IF
307307

308-
@IF isset(:post_id)
308+
@IF isset(:post_id) && :post_id > 0
309309
THEN
310310
AND _.post_id = :post_id
311311
END @IF

admin/sql/mysqli/product.sql

+43-6
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
)
3333
BEGIN
3434
-- product
35-
SELECT pc.*,_.*,
35+
SELECT pc.*,_.*, _.product_id,
3636
mf.slug as manufacturer_slug, mf.name as manufacturer_name,
3737
vd.slug as vendor_slug, vd.name as vendor_name,
3838
st.name as stock_status_name
@@ -144,12 +144,12 @@
144144

145145
WHERE 1 = 1
146146

147-
@IF isset(:slug)
147+
@IF isset(:slug) && !(isset(:product_id) && :product_id)
148148
THEN
149149
AND pc.slug = :slug
150150
END @IF
151151

152-
@IF isset(:product_id)
152+
@IF isset(:product_id) && :product_id > 0
153153
THEN
154154
AND _.product_id = :product_id
155155
END @IF
@@ -741,11 +741,17 @@
741741
IN taxonomy_item_id INT,
742742
IN manufacturer_id ARRAY,
743743
IN vendor_id ARRAY,
744+
IN option_value_id ARRAY,
744745
IN related INT,
745746
IN variant INT,
746747
IN status INT,
747748
IN search CHAR,
748749
IN like CHAR,
750+
IN sku CHAR,
751+
IN barcode CHAR,
752+
IN upc CHAR,
753+
IN ean CHAR,
754+
IN isbn CHAR,
749755
IN slug ARRAY,
750756

751757
-- pagination
@@ -940,8 +946,18 @@
940946
@IF !empty(:variant)
941947
THEN
942948
INNER JOIN product_variant pv ON (pv.product_variant_id = products.product_id)
943-
END @IF
949+
END @IF
944950

951+
@IF !empty(:option_value_id)
952+
THEN
953+
INNER JOIN product_option_value pov ON (pov.product_id = products.product_id)
954+
END @IF
955+
956+
@IF !empty(:product_attribute) AND !empty(:product_attribute_id)
957+
THEN
958+
INNER JOIN product_attribute pa ON (pa.product_id = products.product_id)
959+
END @IF
960+
945961

946962
WHERE p2s.site_id = :site_id
947963

@@ -997,6 +1013,11 @@
9971013
@IF isset(:sku) && :sku !== ""
9981014
THEN
9991015
AND products.sku = :sku
1016+
END @IF
1017+
1018+
@IF isset(:barcode) && :barcode !== ""
1019+
THEN
1020+
AND products.barcode = :barcode
10001021
END @IF
10011022

10021023
@IF isset(:upc) && :upc !== ""
@@ -1048,7 +1069,6 @@
10481069
AND pt.taxonomy_item_id = :taxonomy_item_id
10491070

10501071
END @IF
1051-
10521072

10531073
@IF isset(:slug) && count(:slug) > 0
10541074
THEN
@@ -1057,7 +1077,24 @@
10571077

10581078
END @IF
10591079

1060-
1080+
@IF !empty(:option_value_id)
1081+
THEN
1082+
AND pov.option_value_id IN (:option_value_id)
1083+
END @IF
1084+
1085+
1086+
@IF !empty(:product_attribute_id)
1087+
THEN
1088+
pa.product_attribute_id IN (:product_attribute_id)
1089+
END @IF
1090+
1091+
1092+
@IF !empty(:product_attribute)
1093+
THEN
1094+
pa.text IN (:product_attribute)
1095+
END @IF
1096+
1097+
10611098
-- ORDER BY parameters can't be binded, because they are added to the query directly they must be properly sanitized by only allowing a predefined set of values
10621099
@IF isset(:order_by)
10631100
THEN

admin/sql/pgsql/comment.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
END @IF
3131

3232
FROM comment AS comment
33-
LEFT JOIN "user" ON (comment.user_id = comment.user_id)
33+
LEFT JOIN user ON (user.user_id = comment.user_id)
3434

3535
@IF isset(:post_title) AND :post_title
3636
THEN

admin/sql/pgsql/post.sql

+3-3
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@
207207
)
208208
BEGIN
209209

210-
SELECT _.*,pd.*,ad.admin_id,ad.username,ad.display_name,ad.email
210+
SELECT _.*,pd.*,_.post_id,ad.admin_id,ad.username,ad.display_name,ad.email
211211

212212
@IF isset(:comment_count)
213213
THEN
@@ -240,12 +240,12 @@
240240

241241
WHERE 1 = 1
242242

243-
@IF isset(:slug)
243+
@IF isset(:slug) && !(isset(:post_id) && :post_id)
244244
THEN
245245
AND pd.slug = :slug
246246
END @IF
247247

248-
@IF isset(:post_id)
248+
@IF isset(:post_id) && :post_id > 0
249249
THEN
250250
AND _.post_id = :post_id
251251
END @IF

admin/sql/pgsql/product.sql

+13-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
)
3333
BEGIN
3434
-- product
35-
SELECT pc.*,_.*,
35+
SELECT pc.*,_.*, _.product_id,
3636
mf.slug as manufacturer_slug, mf.name as manufacturer_name,
3737
vd.slug as vendor_slug, vd.name as vendor_name,
3838
st.name as stock_status_name
@@ -144,12 +144,12 @@
144144

145145
WHERE 1 = 1
146146

147-
@IF isset(:slug)
147+
@IF isset(:slug) && !(isset(:product_id) && :product_id)
148148
THEN
149149
AND pc.slug = :slug
150150
END @IF
151151

152-
@IF isset(:product_id)
152+
@IF isset(:product_id) && :product_id > 0
153153
THEN
154154
AND _.product_id = :product_id
155155
END @IF
@@ -745,6 +745,11 @@
745745
IN status INT,
746746
IN search CHAR,
747747
IN like CHAR,
748+
IN sku CHAR,
749+
IN barcode CHAR,
750+
IN upc CHAR,
751+
IN ean CHAR,
752+
IN isbn CHAR,
748753
IN slug ARRAY,
749754

750755
-- pagination
@@ -1000,6 +1005,11 @@
10001005
@IF isset(:sku) && :sku !== ""
10011006
THEN
10021007
AND products.sku = :sku
1008+
END @IF
1009+
1010+
@IF isset(:barcode) && :barcode !== ""
1011+
THEN
1012+
AND products.barcode = :barcode
10031013
END @IF
10041014

10051015
@IF isset(:upc) && :upc !== ""

admin/sql/sqlite/comment.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
END @IF
3131

3232
FROM comment AS comment
33-
LEFT JOIN user ON (comment.user_id = comment.user_id)
33+
LEFT JOIN user ON (user.user_id = comment.user_id)
3434

3535
@IF isset(:post_title) AND :post_title
3636
THEN

admin/sql/sqlite/post.sql

+3-3
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202
)
203203
BEGIN
204204

205-
SELECT _.*,pd.*,ad.admin_id,ad.username,ad.display_name,ad.email
205+
SELECT _.*,pd.*,_.post_id,ad.admin_id,ad.username,ad.display_name,ad.email
206206

207207
@IF isset(:comment_count)
208208
THEN
@@ -235,12 +235,12 @@
235235

236236
WHERE 1 = 1
237237

238-
@IF isset(:slug)
238+
@IF isset(:slug) && !(isset(:post_id) && :post_id)
239239
THEN
240240
AND pd.slug = :slug
241241
END @IF
242242

243-
@IF isset(:post_id)
243+
@IF isset(:post_id) && :post_id > 0
244244
THEN
245245
AND _.post_id = :post_id
246246
END @IF

admin/sql/sqlite/product.sql

+13-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
)
3333
BEGIN
3434
-- product
35-
SELECT pc.*,_.*,
35+
SELECT pc.*,_.*, _.product_id,
3636
mf.slug as manufacturer_slug, mf.name as manufacturer_name,
3737
vd.slug as vendor_slug, vd.name as vendor_name,
3838
st.name as stock_status_name
@@ -144,12 +144,12 @@
144144

145145
WHERE 1 = 1
146146

147-
@IF isset(:slug)
147+
@IF isset(:slug) && !(isset(:product_id) && :product_id)
148148
THEN
149149
AND pc.slug = :slug
150150
END @IF
151151

152-
@IF isset(:product_id)
152+
@IF isset(:product_id) && :product_id > 0
153153
THEN
154154
AND _.product_id = :product_id
155155
END @IF
@@ -750,6 +750,11 @@
750750
IN status INT,
751751
IN search CHAR,
752752
IN like CHAR,
753+
IN sku CHAR,
754+
IN barcode CHAR,
755+
IN upc CHAR,
756+
IN ean CHAR,
757+
IN isbn CHAR,
753758
IN slug ARRAY,
754759

755760
-- pagination
@@ -1002,6 +1007,11 @@
10021007
@IF isset(:sku) && :sku !== ""
10031008
THEN
10041009
AND products.sku = :sku
1010+
END @IF
1011+
1012+
@IF isset(:barcode) && :barcode !== ""
1013+
THEN
1014+
AND products.barcode = :barcode
10051015
END @IF
10061016

10071017
@IF isset(:upc) && :upc !== ""

0 commit comments

Comments
 (0)