i have a shipping method, flatrate_29, that doesn't use delivery time slots. however, flatrate_2 does.
the matching regexp in uc_deliverytimeslot.module just matches against flatrate_2 from the quote name, however the full value in the quote div is "flatrate_29---" etc.. whereas if flaterate_2 was in the quote div it would be "flatrate_2---"
clearly the flatrate_2 regexp will match either of those. to fix this bug, note the patch below. basically the money line adds a single '-' to the regexp
*** 253,260 ****
// ad js when select shipping quote
$reg = '';
foreach ($shipping_quote AS $quote) {
! $reg .= $quote .'|';
}
$reg = substr($reg, 0, -1);
$js = 'Drupal.behaviors.deliverytimeslot = function() {';
$no_hide ? $js .= '$("#deliverytimeslot-pane").show();' : $js .= '$("#deliverytimeslot-pane").hide();';
--- 253,261 ----
// ad js when select shipping quote
$reg = '';
foreach ($shipping_quote AS $quote) {
! $reg .= $quote .'-|';
}
+
$reg = substr($reg, 0, -1);
$js = 'Drupal.behaviors.deliverytimeslot = function() {';
$no_hide ? $js .= '$("#deliverytimeslot-pane").show();' : $js .= '$("#deliverytimeslot-pane").hide();';