diff --git a/Makefile b/Makefile index 41f47779baf36e2d48f6fcf13e5b0942b7b6640f..3afb59661eed4596918476be613c7f8c0d103c8e 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ BASE=rules_shipping BASE_ADV=rules_shipping_advanced PLUGINTYPE=vmshipment ZIPBASE=opentools_vm -VERSION=5.1 +VERSION=5.2 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/releases/plg_opentools_vm_rules_shipping_advanced_v5.1.zip b/releases/plg_opentools_vm_rules_shipping_advanced_v5.1.zip index ea490db0bb9429e23984c79bc1cf6203a500b603..2b46e72740f0bb8a9078277dbb741d64536a8396 100644 Binary files a/releases/plg_opentools_vm_rules_shipping_advanced_v5.1.zip and b/releases/plg_opentools_vm_rules_shipping_advanced_v5.1.zip differ diff --git a/releases/plg_opentools_vm_rules_shipping_advanced_v5.2.zip b/releases/plg_opentools_vm_rules_shipping_advanced_v5.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..27d4c9c223e6ee788e6e6558cb3bdaf7e88c8ce9 Binary files /dev/null and b/releases/plg_opentools_vm_rules_shipping_advanced_v5.2.zip differ diff --git a/releases/plg_opentools_vm_rules_shipping_v5.1.zip b/releases/plg_opentools_vm_rules_shipping_v5.1.zip index bf6e7dedece2f2eb4083137831a84313907d8c53..a34842196642d9ffe9aaa48ed3c25eea3dcb67fa 100644 Binary files a/releases/plg_opentools_vm_rules_shipping_v5.1.zip and b/releases/plg_opentools_vm_rules_shipping_v5.1.zip differ diff --git a/releases/plg_opentools_vm_rules_shipping_v5.2.zip b/releases/plg_opentools_vm_rules_shipping_v5.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..0e15bfb20bf18a6303d7305be4ca17b45462d3cb Binary files /dev/null and b/releases/plg_opentools_vm_rules_shipping_v5.2.zip differ diff --git a/rules_shipping.xml b/rules_shipping.xml index 524caace49178196fa2fd7b62049958d25b57523..62d0f82282727e29de3c546928705ff7f2e83189 100644 --- a/rules_shipping.xml +++ b/rules_shipping.xml @@ -6,7 +6,7 @@ <authorUrl>http://www.open-tools.net</authorUrl> <copyright>Copyright (C) 2013-2014, Reinhold Kainhofer</copyright> <license>GPL v3+</license> - <version>5.1</version> + <version>5.2</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 17196c9dbec0a61a0457a9cb53495fb297c8ca3d..aaebb6519eac88fcc3a8a7afa23f4a1eb5a51e15 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-2014, Reinhold Kainhofer</copyright> <license>GPL v3+</license> - <version>5.1</version> + <version>5.2</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 24f85cfa13b6c96efa98ad6f53c3cc70d0adba0f..63439e0bbefe3aec45fa123ccf044215485d7f0b 100644 --- a/rules_shipping_base.php +++ b/rules_shipping_base.php @@ -173,7 +173,10 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin { $values['virtuemart_shipmentmethod_id'] = $order['details']['BT']->virtuemart_shipmentmethod_id; $values['shipment_name'] = $this->renderPluginName ($method); $values['rule_name'] = $method->rule_name; -// $values['order_weight'] = $this->getOrderWeight ($cart, $method->weight_unit); + $weights = $this->getOrderWeights ($cart, $cart->products, $method->weight_unit); + $values['order_weight'] = $weights['weight']; + $values['order_articles'] = $this->getOrderArticles ($cart, $cart->products); + $values['order_products'] = $this->getOrderProducts ($cart, $cart->products); $values['shipment_weight_unit'] = $method->weight_unit; $values['shipment_cost'] = $method->cost; $values['tax_id'] = $method->tax_id; @@ -735,18 +738,18 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin { 'zip6'=>substr($zip,0,6), 'city'=>isset($address['city'])?trim($address['city']):'', ); - $data['company'] = $address['company']; - $data['title'] = $address['title']; - $data['first_name'] = $address['first_name']; - $data['middle_name'] = $address['middle_name']; - $data['last_name'] = $address['last_name']; - $data['address1'] = $address['address_1']; - $data['address2'] = $address['address_2']; - $data['city'] = $address['city']; - $data['phone1'] = $address['phone_1']; - $data['phone2'] = $address['phone_2']; - $data['fax'] = $address['fax']; - $data['email'] = $address['email']; + $data['company'] = isset($address['company'])?$address['company']:''; + $data['title'] = isset($address['title'])?$address['title']:''; + $data['first_name'] = isset($address['title'])?$address['title']:''; + $data['middle_name'] = isset($address['middle_name'])?$address['middle_name']:''; + $data['last_name'] = isset($address['last_name'])?$address['last_name']:''; + $data['address1'] = isset($address['address_1'])?$address['address_1']:''; + $data['address2'] = isset($address['address_2'])?$address['address_2']:''; + $data['city'] = isset($address['city'])?$address['city']:''; + $data['phone1'] = isset($address['phone_1'])?$address['phone_1']:''; + $data['phone2'] = isset($address['phone_2'])?$address['phone_2']:''; + $data['fax'] = isset($address['fax'])?$address['fax']:''; + $data['email'] = isset($address['email'])?$address['email']:''; return $data; } @@ -803,7 +806,7 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin { } protected function getCartValues (VirtueMartCart $cart, $products, $method, $cart_prices) { - $address = (($cart->ST == 0 || $cart->STSameAsBT == 1) ? $cart->BT : $cart->ST); + $address = (($cart->ST == 0 || $cart->STsameAsBT == 1) ? $cart->BT : $cart->ST); $cartvals = array_merge ( array( 'articles'=>$this->getOrderArticles($cart, $products), @@ -932,6 +935,7 @@ class plgVmShipmentRules_Shipping_Base extends vmPSPlugin { // Try to parse all rules (and spit out error) to inform the user. There is no other // reason to parse the rules here, it's really only to trigger warnings/errors in case of a syntax error. $method = new StdClass (); + $method->virtuemart_shipmentmethod_id = $data['virtuemart_shipmentmethod_id']; $this->parseMethodRule ($data['rules1'], isset($data['countries1'])?$data['countries1']:array(), $data['tax_id1'], $method); $this->parseMethodRule ($data['rules2'], isset($data['countries2'])?$data['countries2']:array(), $data['tax_id2'], $method); $this->parseMethodRule ($data['rules3'], isset($data['countries3'])?$data['countries3']:array(), $data['tax_id3'], $method);