diff --git a/uc_cart/uc_cart.admin.inc b/uc_cart/uc_cart.admin.inc index da325e2..74d6913 100644 --- a/uc_cart/uc_cart.admin.inc +++ b/uc_cart/uc_cart.admin.inc @@ -327,6 +327,11 @@ function uc_cart_checkout_settings_form($form, &$form_state) { } } + $form['checkout']['uc_cart_default_same_address'] = array( + '#type' => 'checkbox', + '#title' => t('Use the same address for billing and delivery by default.'), + '#default_value' => variable_get('uc_cart_default_same_address', FALSE), + ); $form['checkout']['uc_cart_delivery_not_shippable'] = array( '#type' => 'checkbox', '#title' => t('Hide delivery information when carts have no shippable items.'), diff --git a/uc_cart/uc_cart_checkout_pane.inc b/uc_cart/uc_cart_checkout_pane.inc index 36abbfd..62497f1 100644 --- a/uc_cart/uc_cart_checkout_pane.inc +++ b/uc_cart/uc_cart_checkout_pane.inc @@ -226,6 +226,7 @@ function uc_checkout_pane_address($pane, $op, $order, &$form_state, $description $contents['copy_address'] = array( '#type' => 'checkbox', '#title' => $copy, + '#default_value' => variable_get('uc_cart_default_same_address', FALSE), '#ajax' => array( 'callback' => 'uc_checkout_pane_address_render', 'wrapper' => $pane . '-address-pane', @@ -260,11 +261,17 @@ function uc_checkout_pane_address($pane, $op, $order, &$form_state, $description '#type' => 'uc_address', '#default_value' => $order, '#key_prefix' => $pane, - '#hidden' => !empty($form_state['values']['panes'][$pane]['copy_address']), '#prefix' => '
', '#suffix' => '
', ); + if (isset($form_state['values']['panes'][$pane]['copy_address'])) { + $contents['address']['#hidden'] = !empty($form_state['values']['panes'][$pane]['copy_address']); + } + elseif (isset($contents['copy_address'])) { + $contents['address']['#hidden'] = variable_get('uc_cart_default_same_address', FALSE); + } + if (isset($form_state['triggering_element'])) { $element = &$form_state['triggering_element'];