--- 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 <em>Add all to cart</em> 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);
 }

