Index: store.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ecommerce/store/store.module,v
retrieving revision 1.81
diff -u -r1.81 store.module
--- store.module	4 Mar 2006 03:11:34 -0000	1.81
+++ store.module	7 Mar 2006 18:37:33 -0000
@@ -571,7 +571,7 @@
  */
 function store_transaction_save($edit) {
   $edit = (array)($edit);
-  global $user;
+  // global $user; // Not used (anymore?)
 
   if (!$edit['changed']) {
     $edit['changed'] = time();
@@ -591,10 +591,10 @@
       $paid = TRUE;
     }
 
-    foreach ($edit as $key => $value) {
-      if (in_array($key, $transaction_fields)) {
+    foreach ($transaction_fields as $key) {
+      if (isset($edit[$key])) {
         $q[] = db_escape_string($key) ." = '%s'";
-        $v[] = $value;
+        $v[] = $edit[$key];
       }
     }
     if (is_array($q) && is_array($v)) {
@@ -622,10 +622,10 @@
         }
         $item->data = serialize($item->data);
         unset($q, $v);
-        foreach ($item as $key => $value) {
-          if (in_array($key, $product_fields)) {
+        foreach($product_fields as $key) {
+          if (isset($edit[$key])) {
             $q[] = db_escape_string($key) ." = '%s'";
-            $v[] = $value;
+            $v[] = $edit[$key];
           }
         }
         db_query('UPDATE {ec_transaction_product} SET '. implode(', ', $q) ." WHERE txnid = '". $edit['txnid'] ."' AND nid = '".$item->nid  ."'", $v);
@@ -661,10 +661,10 @@
 
     $edit['txnid'] = db_next_id('{ec_transaction}_txnid');
 
-    foreach ($edit as $key => $value) {
-      if (in_array($key, $transaction_fields)) {
+    foreach ($transaction_fields as $key) {
+      if (isset($edit[$key])) {
         $k[] = db_escape_string($key);
-        $v[] = $value;
+        $v[] = $edit[$key];
         $s[] = "'%s'";
       }
     }
@@ -698,10 +698,10 @@
         $item->ptype = db_result(db_query('SELECT ptype FROM {ec_product} WHERE nid = %d', $item->nid));
 
         unset($k, $v, $s);
-        foreach ($item as $key => $value) {
-          if (in_array($key, $product_fields)) {
+        foreach ($product_fields as $key) {
+          if (isset($edit[$key])) {
             $k[] = db_escape_string($key);
-            $v[] = $value;
+            $v[] = $edit[$key];
             $s[] = "'%s'";
           }
         }
@@ -752,10 +752,10 @@
 
     db_query('DELETE FROM {ec_transaction_product} WHERE txnid = %d AND nid = %d', $item->txnid, $item->nid);
     $k = $v = $s = array();
-    foreach ($item as $key => $value) {
-      if (in_array($key, $product_fields)) {
+    foreach ($product_fields as $key) {
+      if (isset($edit[$key])) {
         $k[] = db_escape_string($key);
-        $v[] = $value;
+        $v[] = $edit[$key];
         $s[] = "'%s'";
       }
     }
