swguy:
My solution was just to recompute $shipping_num_boxes.
Just before the loop that calls _addItem,
// Handle free shipping
$free_weight = $_SESSION['cart']->free_shipping_weight();
if ($free_weight > 0) {
$non_free_weight = $_SESSION['cart']->show_weight() - $free_weight;
$zc_boxes = zen_round(($non_free_weight/SHIPPING_MAX_WEIGHT), 2);
$shipping_num_boxes = ceil($zc_boxes);
}
> Not sure if this is perfect, still testing.
The underlying issue is that the shipping module isn't using ***zen_get_shipping_enabled*** to see if the cart's all free shipping.
GitHub tracking issue: <https://github.com/lat9/upsxml/issues/29>