--- uc_multibuy.module.2.2.orig 2009-06-08 18:40:04.000000000 -0500 +++ uc_multibuy.module 2009-06-09 17:09:42.000000000 -0500 @@ -273,16 +273,16 @@ //apply known form alterations (but not any and all because they all need special handling) if (variable_get('uc_catalog_display_attributes', false) && module_exists('uc_attribute')) - uc_attribute_form_alter(&$form, &$form_state, $form_id); //if add with options is being used + uc_attribute_form_alter($form, $form_state, $form_id); //if add with options is being used if ($product->type == 'donation') - uc_donation_form_alter(&$form, &$form_state, $form_id); + uc_donation_form_alter($form, $form_state, $form_id); if ($form['#parameters']) unset($form['#parameters']); if ($form['nid']) unset($form['nid']); if ($form['submit']) unset($form['submit']); if ($form['#validate']) unset($form['#validate']); - $form['qty']['#default_value'] = 0; + $form['qty']['#default_value'] = variable_get('uc_multibuy_default_quantity', 0); $form['qty-'. $product->nid] = $form['qty']; unset($form['qty']); @@ -330,6 +330,7 @@ } function uc_multibuy_form_submit($form, &$form_state) { + $redirect = null; foreach($form_state['values'] as $key => $value) { if (strpos($key, 'qty-') === 0) { //extract data from form submission @@ -354,11 +355,15 @@ if ($add_to_cart) { //add item to cart - uc_cart_add_item($nid, $qty, module_invoke_all('add_to_cart_data', $single_fs)); + $redirect = uc_cart_add_item($nid, $qty, module_invoke_all('add_to_cart_data', $single_fs)); } } } } + + if( variable_get('uc_multibuy_view_cart_after_add', false) ) { + $form_state['redirect'] = $redirect; + } } @@ -396,6 +401,13 @@ '#description' => t('Text of the Add all to cart button at the bottom of Multi-buy catalog pages.'), '#default_value' => variable_get('uc_multibuy_add_all_to_cart_text', t('Add all to cart')), ); + $form['multibuy']['uc_multibuy_default_quantity'] = array( + '#type' => 'textfield', + '#title' => t('Default Quantity'), + '#size' => 4, + '#description' => t('The default quantity on multi-buy product listings.'), + '#default_value' => variable_get('uc_multibuy_default_quantity', 0), + ); $form['multibuy']['uc_catalog_display_attributes'] = array( '#type' => 'checkbox', '#title' => t('Display attributes'), @@ -406,6 +418,11 @@ '#title' => t('Display product teaser (applies to multi-buy grid format only)'), '#default_value' => variable_get('uc_catalog_grid_display_teaser', false), ); + $form['multibuy']['uc_multibuy_view_cart_after_add'] = array( + '#type' => 'checkbox', + '#title' => t('Go to checkout after user clicks the "Add all to cart" button.'), + '#default_value' => variable_get('uc_multibuy_view_cart_after_add', false), + ); return system_settings_form($form); }