I fixed the problem but unfortunatly I've found another one lol.
Everthing works except when I get sent to the sagepay simulator the shopping cart field is empty (i.e. nothing was sent)
I have the function called "getshoppingcartinfo" the function grabs alot of variables.
then later on ther is this code that should send the information from the function along with loads of other info.Code:function getShoppingCartInfo() { global $cart, $order; $retStr = ""; if (MODULE_SHOPCART == 'true') { $shipping = $order->info['shipping_cost']; $shipping = number_format($shipping, 2, '.', ''); $products = $cart->get_products(); $no_lines = sizeof($products); $no_lines = $no_lines + 1; $shippingStr .= ":Shipping:1:".$shipping.":----:".$shipping.":".$shipping; $basketStr = "BasketSt=".$no_lines; $moreStr .= ":More products...See Order.:1:----:----:----:----"; $moreLen = strlen( $moreStr ); /* Maxmium size of the basket field according to Documentation V2.22 is 7500 characters. Allowing 7495 as a small safety net. */ $charCount = 7495 - strlen( $shippingStr ) - strlen( $basketStr ); $detail = ""; $linesAdded = 0; $i = 0; $n=sizeof($products); $finished = false; while ( ( $i<$n ) && ( !$finished ) ) { $desc = $products[$i]['name']; $desc = str_replace(":", "", $desc); $qty = $products[$i]['quantity']; $price = $products[$i]['price'] + $cart->attributes_price($products[$i]['id']); $tax = $price/100 * zen_get_tax_rate($products[$i]['tax_class_id']); $tax = number_format($tax, 2, '.', ''); $finalPrice = $price + $tax; $finalPrice = number_format($finalPrice, 2, '.', ''); $lineTotal = $qty * $finalPrice; $lineTotal = number_format($lineTotal, 2, '.', ''); $line = ":".$desc.":".$qty.":".$price.":".$tax.":".$finalPrice.":".$lineTotal; $line = str_replace("\n", "", $line); $line = str_replace("\r", "", $line); $len = strlen( $line ); if ( ( $charCount - $moreLen - $len) > 0 ) { $linesAdded ++; $charCount -= $len; $detail .= $line; } else if ( $charCount - $moreLen > 0 ) { $detail .= $moreStr; $charCount -= $len; $linesAdded ++; $finished = true; } else { // We should not hit this point, but if we do lets fininsh $finished = true; } $i++; } if ( strlen( $detail ) > 0 ) { $linesAdded ++; $retStr = "&" . "BasketSt=" . $linesAdded . $detail . $shippingStr; } } return $retStr; }
Do I need assign an output name to the function? (and if so how?) So later on I can grab the output of that function or have I just missed the ouput name somwhere?Code:if (MODULE_SHOPCART == 'true') { $plain .= "Basket=" . $cart->basket['shopping_cart'] . ""; }
Any help woud be greatly appreciated


I fixed the problem but unfortunatly I've found another one lol.

