From a5e3c27a39f8c5b1ab9e11fb9f9c90959aa7a33b Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sat, 15 Jun 2013 14:58:01 +0200
Subject: [PATCH] Version 2.4.7: Fix uppercasing of ZIP; first steps to
 implementing round/max/min functions

---
 ...hipment_rules_shipping_advanced_v2.4.7.zip | Bin 21816 -> 21907 bytes
 .../plg_vmshipment_rules_shipping_v2.4.7.zip  | Bin 18297 -> 18380 bytes
 rules_shipping_advanced.php                   |   4 +++-
 rules_shipping_base.php                       |   9 ++++++++-
 4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/releases/plg_vmshipment_rules_shipping_advanced_v2.4.7.zip b/releases/plg_vmshipment_rules_shipping_advanced_v2.4.7.zip
index ad1d19a82fcffcff3aa48ffd33dd2eda88ffe168..1fdea656fc9cb0d90ee907aa0fe1c9b9031cd22c 100644
GIT binary patch
delta 6791
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

delta 6675
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
GmjVEqS&Y{J

diff --git a/releases/plg_vmshipment_rules_shipping_v2.4.7.zip b/releases/plg_vmshipment_rules_shipping_v2.4.7.zip
index 9e401187ba2f73255ef73ef27374677333e6f72f..e31f1ff5616257c26e58dd990f7f65eae72d7fd8 100644
GIT binary patch
delta 2481
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

delta 2367
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
GzyJU!oos>t

diff --git a/rules_shipping_advanced.php b/rules_shipping_advanced.php
index 293296b..a3da164 100644
--- a/rules_shipping_advanced.php
+++ b/rules_shipping_advanced.php
@@ -42,7 +42,9 @@ class plgVmShipmentRules_Shipping_Advanced extends plgVmShipmentRules_Shipping_B
 	 */
 	protected function addCustomCartValues (VirtueMartCart $cart, $cart_prices, &$values) {
 		$values['coupon'] = $cart->couponCode;
-		$zip=strtoupper($values['zip']);
+		if ($values['zip']) {
+			$zip=strtoupper($values['zip']);
+		}
 
 		// Postal code Check for UK postal codes: Use regexp to determine if ZIP structure matches and also to extract the parts.
 		// Also handle UK overseas areas/islands that use four-letter outward codes rather than "A{1,2}0{1,2}A{0,1} 0AA"
diff --git a/rules_shipping_base.php b/rules_shipping_base.php
index 61148b3..d8a264d 100644
--- a/rules_shipping_base.php
+++ b/rules_shipping_base.php
@@ -755,9 +755,16 @@ class ShippingRule {
 				case "-":  $res = ($args[0] -  $args[1]); break;
 				case "*":  $res = ($args[0] *  $args[1]); break;
 				case "/":  $res = ($args[0] /  $args[1]); break;
-				case "%":  $res = ($args[0] %  $args[1]); break;
+				case "%":  $res = (fmod($args[0],  $args[1])); break;
 				case "^":  $res = ($args[0] ^  $args[1]); break;
 				
+				# TODO: Document these functions:
+				case "round": $res = round($args[0]); break;
+				case "ceil": $res = ceil($args[0]); break;
+				case "floor": $res = floor($args[0]); break;
+				case "max": $res = max($args); break;
+				case "min": $res = min($args); break;
+				
 				default:   $res = false;
 			}
 			
-- 
GitLab