Index: authorizenetwebform.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/authorizenetwebform/Attic/authorizenetwebform.module,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 authorizenetwebform.module
--- authorizenetwebform.module	2 May 2009 02:05:55 -0000	1.1.2.2
+++ authorizenetwebform.module	20 Feb 2010 21:56:24 -0000
@@ -259,15 +259,40 @@
     if (array_key_exists(strtolower($mkey), $form_values['submitted_tree'])) {
       $submission[$mkey] = $form_values['submitted_tree'][strtolower($mkey)];
     }
+    else {
+      foreach ($form_values['submitted_tree'] as $fkey => $fvalue) {
+        if (is_array($fvalue)) {
+          if (array_key_exists(strtolower($mkey), $fvalue)) {
+            $submission[$mkey] = $form_values['submitted_tree'][$fkey][strtolower($mkey)];
+          }
+          else {
+            foreach ($fvalue as $gkey => $gvalue) {
+              if (is_array($gvalue)) {
+                if (array_key_exists(strtolower($mkey), $gvalue)) {
+                  $submission[$mkey] = $form_values['submitted_tree'][$fkey][$gkey][strtolower($mkey)];
+                }
+                else {
+                 foreach ($gvalue as $hkey => $hvalue) {
+                   if (is_array($hvalue)) {
+                     if (array_key_exists(strtolower($mkey), $hvalue)) {
+                       $submission[$mkey] = $form_values['submitted_tree'][$fkey][$gkey][$hkey][strtolower($mkey)];
+                     }
+                   }
+                 }
+               }
+              }
+            }
+          }
+        }
+      }
+    }
   }
-  
   $post_vars = array();
   foreach ($submission as $key => $value) {
     if (strcmp(substr($key, 0, 2), "x_") == 0 && $value != "") {
       $post_vars[$key] = $value;
     }
   }
-
   // Authorize.Net required field information
   $posturl = variable_get('authorizenetwebform_url', NULL);
   $post_url = ($posturl == "main") ? "https://secure.authorize.net/gateway/transact.dll" : "https://test.authorize.net/gateway/transact.dll";
@@ -300,7 +325,6 @@
     $post_string .= "$key=". urlencode( $value ) ."&"; 
   } 
   $post_string = rtrim( $post_string, "& " );
-
   $request = curl_init($post_url); // initiate curl object
     curl_setopt($request, CURLOPT_HEADER, 0); // set to 0 to eliminate header info from response
     curl_setopt($request, CURLOPT_RETURNTRANSFER, 1); // Returns response data instead of TRUE(1)

