From 1078bf7204abd5aae62d74d8bccce1c342d7841f Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sat, 11 Jan 2014 22:39:10 +0100
Subject: [PATCH] Version 4.0: Fix globals warning; Add Values_Debug variable;
 Add contains_any/contains_all functions

---
 Makefile                                      |   2 +-
 .../de-DE.plg_vmshipment_rules_shipping.ini   |   8 ++-
 .../en-GB.plg_vmshipment_rules_shipping.ini   |   1 +
 ...tools_vm2_rules_shipping_advanced_v4.0.zip | Bin 0 -> 26115 bytes
 .../plg_opentools_vm2_rules_shipping_v4.0.zip | Bin 0 -> 21208 bytes
 rules_shipping.xml                            |   2 +-
 rules_shipping_advanced.xml                   |   2 +-
 rules_shipping_base.php                       |  63 +++++++++++++++---
 8 files changed, 64 insertions(+), 14 deletions(-)
 create mode 100644 releases/plg_opentools_vm2_rules_shipping_advanced_v4.0.zip
 create mode 100644 releases/plg_opentools_vm2_rules_shipping_v4.0.zip

diff --git a/Makefile b/Makefile
index bbd0b7c..5c57efa 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ BASE=rules_shipping
 BASE_ADV=rules_shipping_advanced
 PLUGINTYPE=vmshipment
 ZIPBASE=opentools_vm2
-VERSION=3.97
+VERSION=4.0
 
 PLUGINFILES=$(BASE).php $(BASE)_base.php $(BASE).script.php $(BASE).xml index.html
 PLUGINFILES_ADV=$(BASE_ADV).php $(BASE)_base.php $(BASE_ADV).script.php $(BASE_ADV).xml index.html
diff --git a/language/de-DE/de-DE.plg_vmshipment_rules_shipping.ini b/language/de-DE/de-DE.plg_vmshipment_rules_shipping.ini
index 05b9644..ec6c6ec 100644
--- a/language/de-DE/de-DE.plg_vmshipment_rules_shipping.ini
+++ b/language/de-DE/de-DE.plg_vmshipment_rules_shipping.ini
@@ -44,4 +44,10 @@ VMSHIPMENT_RULES_EVALUATE_SYNTAXERROR="Syntax error during evaluation, RPN is no
 VMSHIPMENT_RULES_EVALUATE_UNKNOWN_OPERATOR="Unknown operator '%s' encountered during evaluation of rule '%s'."
 VMSHIPMENT_RULES_EVALUATE_UNKNOWN_ERROR="Unknown error occurred during evaluation of rule '%s'."
 VMSHIPMENT_RULES_EVALUATE_ASSIGNMENT_TOPLEVEL="Assignments are not allows inside expressions (rule given was '%s')"
-VMSHIPMENT_RULES_EVALUATE_UNKNOWN_VALUE="Evaluation yields unknown value while evaluating rule part '%s'."
\ No newline at end of file
+VMSHIPMENT_RULES_EVALUATE_UNKNOWN_VALUE="Evaluation yields unknown value while evaluating rule part '%s'."
+
+VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_ARGS="List function '%s' requires all arguments to be lists. (Full rule: '%s')" 
+VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_CONTAIN_ARGS="List function '%s' requires the first argument to be lists. (Full rule: '%s')" 
+VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_UNKNOWN="Unknown list function '%s' encountered. (Full rule: '%s')" 
+
+VMSHIPMENT_RULES_NOSHIPPING_MESSAGE="%s"
diff --git a/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini b/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini
index 1c19d7b..ee5381b 100755
--- a/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini
+++ b/language/en-GB/en-GB.plg_vmshipment_rules_shipping.ini
@@ -55,6 +55,7 @@ VMSHIPMENT_RULES_EVALUATE_ASSIGNMENT_TOPLEVEL="Assignments are not allows inside
 VMSHIPMENT_RULES_EVALUATE_UNKNOWN_VALUE="Evaluation yields unknown value while evaluating rule part '%s'."
 
 VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_ARGS="List function '%s' requires all arguments to be lists. (Full rule: '%s')" 
+VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_CONTAIN_ARGS="List function '%s' requires the first argument to be lists. (Full rule: '%s')" 
 VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_UNKNOWN="Unknown list function '%s' encountered. (Full rule: '%s')" 
 
 VMSHIPMENT_RULES_NOSHIPPING_MESSAGE="%s"
diff --git a/releases/plg_opentools_vm2_rules_shipping_advanced_v4.0.zip b/releases/plg_opentools_vm2_rules_shipping_advanced_v4.0.zip
new file mode 100644
index 0000000000000000000000000000000000000000..1b968da339511be20e2c2fa4ff0754c82d8b1c94
GIT binary patch
literal 26115
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

literal 0
HcmV?d00001

diff --git a/releases/plg_opentools_vm2_rules_shipping_v4.0.zip b/releases/plg_opentools_vm2_rules_shipping_v4.0.zip
new file mode 100644
index 0000000000000000000000000000000000000000..38afbe1bebd6dd2f776b9447d5f5356658320d6a
GIT binary patch
literal 21208
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

literal 0
HcmV?d00001

diff --git a/rules_shipping.xml b/rules_shipping.xml
index eace41a..1c31e6e 100644
--- a/rules_shipping.xml
+++ b/rules_shipping.xml
@@ -6,7 +6,7 @@
     <authorUrl>http://www.open-tools.net</authorUrl>
     <copyright>Copyright (C) 2013, Reinhold Kainhofer</copyright>
     <license>GPL v3+</license>
-    <version>3.97</version>
+    <version>4.0</version>
     <description>VMSHIPMENT_RULES_DESC</description>
     <files>
 	<filename plugin="rules_shipping">rules_shipping.php</filename>
diff --git a/rules_shipping_advanced.xml b/rules_shipping_advanced.xml
index ee0a926..058b612 100644
--- a/rules_shipping_advanced.xml
+++ b/rules_shipping_advanced.xml
@@ -6,7 +6,7 @@
     <authorUrl>http://www.open-tools.net</authorUrl>
     <copyright>Copyright (C) 2013, Reinhold Kainhofer</copyright>
     <license>GPL v3+</license>
-    <version>3.97</version>
+    <version>4.0</version>
     <description>VMSHIPMENT_RULES_ADV_DESC</description>
     <files>
 	<filename plugin="rules_shipping_advanced">rules_shipping_advanced.php</filename>
diff --git a/rules_shipping_base.php b/rules_shipping_base.php
index 34a1f98..08a2635 100644
--- a/rules_shipping_base.php
+++ b/rules_shipping_base.php
@@ -29,8 +29,6 @@ if (class_exists ('plgVmShipmentRules_Shipping_Base')) {
 	return;
 }
 
-// Keep track of warning messages, so we don't print them twice:
-$printed_warnings = array();
 
 function is_equal($a, $b) {
 	if (is_array($a) && is_array($b)) {
@@ -70,12 +68,14 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin {
 	}
 	
 	public function printWarning($message) {
+		// Keep track of warning messages, so we don't print them twice:
 		global $printed_warnings;
+		if (!isset($printed_warnings))
+			$printed_warnings = array();
 		if (!in_array($message, $printed_warnings)) {
 			JFactory::getApplication()->enqueueMessage($message, 'error');
 			$printed_warnings[] = $message;
 		}
-		
 	}
 
 	/**
@@ -619,6 +619,9 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin {
 		$cartvals = array_merge ($cartvals, $this->getOrderDimensions ($cart, $method->length_unit));
 		// Let child classes update the $cartvals array, or add new variables
 		$this->addCustomCartValues($cart, $cart_prices, $cartvals);
+		// Add the whole list of cart value to the values, so we can print them out as a debug statement!
+		$cartvals['values_debug'] = print_r($cartvals,1);
+		$cartvals['values'] = $cartvals;
 // JFactory::getApplication()->enqueueMessage("<pre>cart values: ".print_r($cartvals,1)."</pre>", 'error');
 		return $cartvals;
 	}
@@ -880,6 +883,34 @@ class ShippingRule {
 		}
 	}
 	
+	function evaluateListContainmentFunction ($function, $args) {
+		# First make sure that the first argument is a list:
+		if (!is_array($args[0])) {
+			JFactory::getApplication()->enqueueMessage(JText::sprintf('VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_CONTAIN_ARGS', $function, $this->rulestring), 'error');
+			return false;
+		}
+		// Extract the array from the args, the $args varialbe will now only contain the elements to be checked:
+		$array = array_shift($args);
+		switch ($function) {
+			case "contains_any": 
+					foreach ($args as $a) { 
+						if (in_array($a, $array)) 
+							return true; 
+					}
+					return false;
+			
+			case "contains_all":
+					foreach ($args as $a) { 
+						if (!in_array($a, $array)) 
+							return false; 
+					}
+					return true;
+			default: 
+				JFactory::getApplication()->enqueueMessage(JText::sprintf('VMSHIPMENT_RULES_EVALUATE_LISTFUNCTION_UNKNOWN', $function, $this->rulestring), 'error');
+				return false;
+		}
+	}
+	
 	function evaluateFunction ($function, $args) {
 		$func = strtolower($function);
 		// Functions with no argument:
@@ -920,16 +951,28 @@ class ShippingRule {
 				case "substring": return substr($args[0], $args[1]-1, $args[2]); break;
 			}
 		}
-		// List functions
-		if (in_array($func, array("length", "complement", "issubset", "contains", "union", "join", "intersection", "list_equal"))) {
-			return $this->evaluateListFunction ($func, $args);
-		}
 		// Functions with variable number of args
 		switch ($func) {
-			case "max": return max($args); break;
-			case "min": return min($args); break;
+			case "max": 
+					return max($args); break;
+			case "min": 
+					return min($args); break;
 			case "list": 
-			case "array": return $args; break;
+			case "array": 
+					return $args; break;
+			// List functions:
+		    case "length":
+		    case "complement":
+		    case "issubset":
+		    case "contains":
+		    case "union":
+		    case "join":
+		    case "intersection":
+		    case "list_equal":
+					return $this->evaluateListFunction ($func, $args); break;
+			case "contains_any": 
+			case "contains_all":
+					return $this->evaluateListContainmentFunction($func, $args); break;
 		}
 		// No known function matches => print an error, return 0
 		JFactory::getApplication()->enqueueMessage(JText::sprintf('VMSHIPMENT_RULES_EVALUATE_UNKNOWN_FUNCTION', $function, $this->rulestring), 'error');
-- 
GitLab