This thread is a collection of known bugs and their fixes ... specifically applicable to v1.3.8 / v1.3.8a.
FIRST, YOU SHOULD APPLY ALL KNOWN SECURITY PATCHES, as listed here:
http://www.zen-cart.com/forum/showthread.php?t=131115
Printable View
This thread is a collection of known bugs and their fixes ... specifically applicable to v1.3.8 / v1.3.8a.
FIRST, YOU SHOULD APPLY ALL KNOWN SECURITY PATCHES, as listed here:
http://www.zen-cart.com/forum/showthread.php?t=131115
Symptom:
Using v1.3.8 (not v1.3.8a). Getting: SMTP Error - Could Not Connect to SMTP Host
Solution:
Details and fix posted here:
http://www.zen-cart.com/forum/showthread.php?t=82570
NOTE: This issue is fixed in v1.3.8a ... announced here: http://www.zen-cart.com/forum/showth...780#post473780
Symptom:
Center boxes for NEW PRODUCTS and UPCOMING PRODUCTS show Products even when products_status = 0
Solution:
Fix SELECT statements in the two modules:
/includes/modules/new_products.php
This section around lines 40-45
Needs to be updated to:PHP Code:
$new_products_query = "select distinct p.products_id, p.products_image, p.products_tax_class_id, pd.products_name,
p.products_date_added, p.products_price, p.products_type, p.master_categories_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.products_id = pd.products_id
and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
and p.products_id in (" . $list_of_products . ")";
And then in the:PHP Code:
$new_products_query = "select distinct p.products_id, p.products_image, p.products_tax_class_id, pd.products_name,
p.products_date_added, p.products_price, p.products_type, p.master_categories_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.products_id = pd.products_id
and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
and p.products_status = 1
and p.products_id in (" . $list_of_products . ")";
/includes/modules/upcoming_products.php
around lines 43 to 50
to read:PHP Code:
$expected_query = "select p.products_id, pd.products_name, products_date_available as date_expected, p.master_categories_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.products_id = pd.products_id
and p.products_id in (" . $list_of_products . ")
and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' " .
$display_limit .
$limit_clause;
PHP Code:
$expected_query = "select p.products_id, pd.products_name, products_date_available as date_expected, p.master_categories_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.products_id = pd.products_id
and p.products_status = 1
and p.products_id in (" . $list_of_products . ")
and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' " .
$display_limit .
$limit_clause;
Symptom: Using PHP 4.3.2 (specifically), cannot stay logged in to the admin area
Cause: Inconsistency in how PHP 4.3.2 vs newer versions of PHP handle sessions.
Solution: See instructions in this post: http://www.zen-cart.com/forum/showpo...8&postcount=29
Symptom:
Tax calculation logic for Gift Vouchers.
Solution:
To fix for v1.3.8/1.3.8a you need to edit
includes/modules/order_total/ot_gv.php
at around line 294 you should see this code
you need to comment out that whole block so you getCode:
if ($this->include_tax) {
reset($order->info['tax_groups']);
foreach ($order->info['tax_groups'] as $key=>$value) {
$od_amount['tax_groups'][$key] = $order->info['tax_groups'][$key] * $ratio_tax;
$tax_deduct += $od_amount['tax_groups'][$key];
}
}
Code:// if ($this->include_tax) {
// reset($order->info['tax_groups']);
// foreach ($order->info['tax_groups'] as $key=>$value) {
// $od_amount['tax_groups'][$key] = $order->info['tax_groups'][$key] * $ratio_tax;
// $tax_deduct += $od_amount['tax_groups'][$key];
// }
// }
Symptom:
Admin Category/Product Listing is not showing prices when Customer Authorization is set to 1 or 2 ...
This was originally designed to make the Admin mirror the Catalog ... unfortunately, *somebody* ... er ... umm ... me ... forgot to finish this section of code so there was an additional switch in place of the customer_id session variable ... :blush:
This means, if you have your shop setup with Customer Authorization and you do not see the Prices in the Catalog ... Categories/Products ... it is because it is first checking if the prices "should" show ... this is not a valid test in the Admin and should be changed so that the Prices *always* show in the Admin ...
Temporary Solution:
This can be changed with a quick fix of:
/admin/includes/functions/functions_prices.php
NOTE: the STORE_STATUS is also there to do the same thing, that if you turn off the prices based on STORE_STATUS then the prices would turn off in the Admin as well ...PHP Code:
function zen_get_products_display_price($products_id) {
global $db, $currencies;
if (false) {
// 0 = normal shopping
// 1 = Login to shop
// 2 = Can browse but no prices
// verify display of prices
switch (true) {
case (CUSTOMERS_APPROVAL == '1' and $_SESSION['customer_id'] == ''):
// customer must be logged in to browse
return '';
break;
case (CUSTOMERS_APPROVAL == '2' and $_SESSION['customer_id'] == ''):
// customer may browse but no prices
return '';
break;
default:
// proceed normally
break;
}
}
// show case only
if (STORE_STATUS != '0') {
if (STORE_STATUS == '1') {
return '';
}
}
Both of these will be fixed in v1.4 with a better arrangement of code ...
Symptom: When doing checkout with Website Payments Pro and have only downloadable products in the cart (or otherwise don't require shipping for anything), error 10726 appears.
10726 - Invalid Data - There's an error with this transaction. Please enter a complete shipping address.
Cause: Partial shipping information is being sent, when none should be sent at all.
Solution: posted here: http://www.zen-cart.com/forum/showpo...82&postcount=4
This issue exists prior to v1.3.8, and is formally fixed in v1.4.0
Symptom: customer date of birth gets erased when editing customer records from the admin page, if the minimum length for the DOB field is set to zero
Solution: see this thread: http://www.zen-cart.com/forum/showthread.php?t=83839
Symptom: If you are using the low-order-fee module and using Linkpoint/Yourpay API payment module in v1.3.8, you will encounter some errors when submitting payments for processing.
Cause: the code wasn't written to support low-order-fee module
Solution: A newer version of this file has been posted here, to handle this bug and another related to coupons:
http://www.zen-cart.com/forum/showth...490#post563490
Symptom: On login page with something in your cart, you might see a "Division by zero" warning in module ot_group_pricing.php
Fix: Make the following edit:
/includes/modules/order_total/ot_group_pricing.php
around line 67 you'll see this section of code.
Add the line highlighted:Code:function calculate_deductions($order_total) {
global $db, $order;
$od_amount = array();
if ($order_total == 0) return $od_amount;
$orderTotal = $this->get_order_total();
Discussed here:
http://www.zen-cart.com/forum/showth...731#post487731