From d4cce0f105999bd8509490bfea61ab1a7f39aad7 Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sun, 13 Dec 2015 19:12:27 +0100
Subject: [PATCH] AwoCoupon: First version of the AwoCoupon variables plugin

---
 plugins/awocoupon/awocoupon.php               |  41 +++++++++++++++---
 ...> en-GB.plg_vmshipmentrules_awocoupon.ini} |   0
 ...-GB.plg_vmshipmentrules_awocoupon.sys.ini} |   0
 ...entools_vmshipmentrules_awocoupon_v1.0.zip | Bin 15000 -> 0 bytes
 ...entools_vmshipmentrules_awocoupon_v1.0.zip | Bin 0 -> 4935 bytes
 5 files changed, 36 insertions(+), 5 deletions(-)
 rename plugins/awocoupon/language/en-GB/{en-GB.plg_vmshipmentrules_rules_awocoupon.ini => en-GB.plg_vmshipmentrules_awocoupon.ini} (100%)
 rename plugins/awocoupon/language/en-GB/{en-GB.plg_vmshipmentrules_rules_awocoupon.sys.ini => en-GB.plg_vmshipmentrules_awocoupon.sys.ini} (100%)
 delete mode 100644 plugins/awocoupon/plg_opentools_vmshipmentrules_awocoupon_v1.0.zip
 create mode 100644 plugins/awocoupon/releases/plg_opentools_vmshipmentrules_awocoupon_v1.0.zip

diff --git a/plugins/awocoupon/awocoupon.php b/plugins/awocoupon/awocoupon.php
index 9c50823..f61692c 100644
--- a/plugins/awocoupon/awocoupon.php
+++ b/plugins/awocoupon/awocoupon.php
@@ -6,7 +6,7 @@ defined ('_JEXEC') or die('Restricted access');
  * AwoCoupon variables for VM Shipping by Rules
  *
  * @subpackage Plugins - VmShipmentRules
- * @copyright Copyright (C) 2014 Reinhold Kainhofer, office@open-tools.net
+ * @copyright Copyright (C) 2015 Reinhold Kainhofer, office@open-tools.net
  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.txt
  * VirtueMart is free software. This version may have been modified pursuant
  * to the GNU General Public License, and as distributed it includes or
@@ -23,22 +23,53 @@ if (!class_exists ('VmPlugin')) {
 
 /** Extension plugin for the "Shipping by Rules" shipping plugin for VirtueMart
  */
-class plgVmShipmentRulesRules_AwoCoupon extends VmPlugin {
+class plgVmShipmentRulesAwoCoupon extends VmPlugin {
 	/**  Trigger to add variables to the cart values
 	  *  You can add new variables to the $cartvals array or modify existing ones. They will be directly 
 	  *  available in all rules.
 	  *  Please notice that this function might also be called for only a subset of products of the cart.
 	  */
 	function onVmShippingRulesGetCartValues(&$cartvals, $cart, $products, $method, $cart_prices) {
+		// First, make sure coupons are processes (VM core processes third-party coupons AFTER the shipping)
+		// This does NOT update the cart_prices array, but at least it makes sure Awocoupon has processed the coupon
+		JPluginHelper::importPlugin('vmcoupon');
+		if (!empty($cart->couponCode)) {
+			$dispatcher = JDispatcher::getInstance();
+			// TODO: This does not yet work...
+// 			$returnValues = $dispatcher->trigger('plgVmCouponHandler', array($cart->couponCode, &$cart->cartData, $cart->cartPrices));
+		}
+
 		$coupon_discount = 0;
 		$session = JFactory::getSession();
 		$coupon_row = $session->get('coupon', '', 'awocoupon');
+		
+		$cartvals['awoproductdiscount'] = 0.0;
+		$cartvals['awoproductdiscountnotax'] = 0.0;
+// 		$cartvals['awoproductdiscounttax'] = 0.0;
+		$cartvals['awoshippingdiscount'] = 0.0;
+		$cartvals['awoshippingdiscountnotax'] = 0.0;
+// 		$cartvals['awoshippingdiscounttax'] = 0.0;
+		$cartvals['awodiscount'] = 0.0;
 		if(!empty($coupon_row)) {
 			$coupon_row = unserialize($coupon_row);
- 			$coupon_discount = $coupon_row['product_discount'] + $coupon_row['shipping_discount'];
+// JFactory::getApplication()->enqueueMessage("<pre>AwoCoupon row: ".print_r($coupon_row,1)."</pre>", 'error');
+
+			$cartvals['awoproductdiscount']       = $coupon_row['product_discount'];
+			$cartvals['awoproductdiscountnotax']  = $coupon_row['product_discount_notax'];
+// 			$cartvals['awoproductdiscounttax']    = $coupon_row['product_discount_tax'];
+			$cartvals['awoshippingdiscount']      = $coupon_row['shipping_discount'];
+			$cartvals['awoshippingdiscountnotax'] = $coupon_row['shipping_discount_notax'];
+// 			$cartvals['awoshippingdiscounttax']   = $coupon_row['shipping_discount_tax'];
+ 			$cartvals['awodiscount']              = $coupon_row['product_discount'] + $coupon_row['shipping_discount'];
 		}
-		$cartvals['awodiscount'] = $coupon_discount;
-	}
+		$cartvals['amountaftercoupon'] = $cartvals['amount'] - $cartvals['awoproductdiscount'];
+		$cartvals['amountwithtaxaftercoupon'] = $cartvals['amountaftercoupon'];
+		$cartvals['taxamountaftercoupon'] = $cartvals['taxamount'] - ($cartvals['awoproductdiscount'] - $cartvals['awoproductdiscountnotax']);
+		$cartvals['amountwithouttaxaftercoupon'] = $cartvals['amountaftercoupon'] - $cartvals['taxamountaftercoupon'];
+		
+		// TODO: Apply shipping coupon discounts
+    }
 }
+  
 
 // No closing tag
diff --git a/plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_rules_awocoupon.ini b/plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_awocoupon.ini
similarity index 100%
rename from plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_rules_awocoupon.ini
rename to plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_awocoupon.ini
diff --git a/plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_rules_awocoupon.sys.ini b/plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_awocoupon.sys.ini
similarity index 100%
rename from plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_rules_awocoupon.sys.ini
rename to plugins/awocoupon/language/en-GB/en-GB.plg_vmshipmentrules_awocoupon.sys.ini
diff --git a/plugins/awocoupon/plg_opentools_vmshipmentrules_awocoupon_v1.0.zip b/plugins/awocoupon/plg_opentools_vmshipmentrules_awocoupon_v1.0.zip
deleted file mode 100644
index ed5ed0583478b367f58854f562f6d28bb46be6f3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15000
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
BR4o7i

diff --git a/plugins/awocoupon/releases/plg_opentools_vmshipmentrules_awocoupon_v1.0.zip b/plugins/awocoupon/releases/plg_opentools_vmshipmentrules_awocoupon_v1.0.zip
new file mode 100644
index 0000000000000000000000000000000000000000..9b214a6697e2662e5bcbb6238ccb03df277a8a12
GIT binary patch
literal 4935
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

literal 0
HcmV?d00001

-- 
GitLab