From 9cb07ef8e788bb2c233b7c0f1ae13ef3ea0662c4 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Sun, 7 Aug 2016 00:55:24 +0200 Subject: [PATCH] Finish extension template; implement UserOrderCount variable --- plugins/template/Makefile | 13 +-------- plugins/template/YOUR_PLUGIN_NAME.php | 6 ++--- plugins/template/readme.txt | 2 +- .../ordernumbers-extension-template-v1.0.zip} | Bin 14194 -> 14482 bytes plugins/user_order_count/Makefile | 18 ------------- .../LICENSE.txt | 0 .../Makefile | 24 +++++++++++++++++ .../readme.txt | 16 +++++------ ...mmerce-ordernumber-userordercount-v1.0.zip | Bin 0 -> 14490 bytes ...oocommerce-ordernumber-userordercount.php} | 25 +++++++----------- 10 files changed, 46 insertions(+), 58 deletions(-) rename plugins/{user_order_count/woocommerce-user_order_count-v1.0.zip => template/releases/ordernumbers-extension-template-v1.0.zip} (81%) delete mode 100644 plugins/user_order_count/Makefile rename plugins/{user_order_count => woocommerce-ordernumber-userordercount}/LICENSE.txt (100%) create mode 100644 plugins/woocommerce-ordernumber-userordercount/Makefile rename plugins/{user_order_count => woocommerce-ordernumber-userordercount}/readme.txt (66%) create mode 100644 plugins/woocommerce-ordernumber-userordercount/woocommerce-ordernumber-userordercount-v1.0.zip rename plugins/{user_order_count/user_order_count.php => woocommerce-ordernumber-userordercount/woocommerce-ordernumber-userordercount.php} (53%) diff --git a/plugins/template/Makefile b/plugins/template/Makefile index 5793133..c4f8a96 100644 --- a/plugins/template/Makefile +++ b/plugins/template/Makefile @@ -9,21 +9,10 @@ BUILDDIR=.build/ PLUGINFILES=$(BASE).php readme.txt LICENSE.txt TRANSLATIONS= -ZIPFILE=$(PLATTFORM)-$(BASE)-v$(VERSION).zip +ZIPFILE=$(BASE)-v$(VERSION).zip all: zip -zip: $(PLUGINFILES) $(TRANSLATIONS) $(ADVANCEDFILES) $(INDEXFILES) - @echo "Packing all files into distribution file $(ZIPFILE):" - @zip -r $(ZIPFILE) $(PLUGINFILES) $(TRANSLATIONS) $(INDEXFILES) $(FIELDS) - -clean: - rm -f $(ZIPFILE) - - - - - zip: $(PLUGINFILES) $(TRANSLATIONS) @echo "Packing plugin into distribution file $(ZIPFILE):" @mkdir -p $(BUILDDIR)/$(BASE) diff --git a/plugins/template/YOUR_PLUGIN_NAME.php b/plugins/template/YOUR_PLUGIN_NAME.php index 744fab2..b4a2ab2 100644 --- a/plugins/template/YOUR_PLUGIN_NAME.php +++ b/plugins/template/YOUR_PLUGIN_NAME.php @@ -1,6 +1,6 @@ <?php /** - * Plugin Name: YOUR_PLUGIN_NAME extension plugin for OpenTools Basic/Advanced Ordernumbers for WooCommerce + * Plugin Name: YOUR_PLUGIN_NAME Ordernumber extension for WC * Plugin URI: http://open-tools.net/woocommerce/advanced-ordernumbers-for-woocommerce.html * Description: A sample template for an extension plugin for the OpenTools Basic / Advanced Ordernumber for WooCommerce plugin. This extension plugin can provide additional variables, modify existing variables and post-process the generated numbers. * Version: 1.0 @@ -29,12 +29,12 @@ if ( ! defined( 'ABSPATH' ) ) { */ add_filter('opentools_ordernumber_replacements', "ordernumber_replacements_YOUR_PLUGIN_NAME", 10, 3); -ordernumber_replacements_YOUR_PLUGIN_NAME($reps, $details, $nrtype) { +function ordernumber_replacements_YOUR_PLUGIN_NAME($reps, $details, $nrtype) { $userid = $details->get_user_id(); // Case 1: Return the number of orders this user has already posted (+1, // because the current order is not yet registered with WC!) - $reps['[userordercount]'] = wc_get_customer_order_count($userid)+1; + $reps['[userordercount]'] = wc_get_customer_order_count($userid); // Case 2: Add a [Type] variable that holds either "ordernumber" or "invoice" $reps['[type]'] = $nrtype; diff --git a/plugins/template/readme.txt b/plugins/template/readme.txt index 6debd4a..7761ba4 100644 --- a/plugins/template/readme.txt +++ b/plugins/template/readme.txt @@ -1,4 +1,4 @@ -=== YOUR_PLUGIN_NAME extension for OpenTools Ordernumbers for WooCommerce === +=== YOUR_PLUGIN_NAME Ordernumber extension for WC === Plugin Name: YOUR_PLUGIN_NAME extension for OpenTools Ordernumbers for WooCommerce Contributors: opentools Tags: WooCommerce, Order numbers, orders diff --git a/plugins/user_order_count/woocommerce-user_order_count-v1.0.zip b/plugins/template/releases/ordernumbers-extension-template-v1.0.zip similarity index 81% rename from plugins/user_order_count/woocommerce-user_order_count-v1.0.zip rename to plugins/template/releases/ordernumbers-extension-template-v1.0.zip index 82603c22b8140090dba6f7eac3399c5e361d5684..0006f0b7fe63b0eafec1f1dfc24a12df82bd0b18 100644 GIT binary patch delta 2278 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 delta 2013 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 OX86s(z>sJLavlIuh=-{F diff --git a/plugins/user_order_count/Makefile b/plugins/user_order_count/Makefile deleted file mode 100644 index 3d23ad3..0000000 --- a/plugins/user_order_count/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -BASE=user_order_count -PLATTFORM=woocommerce -VENDOR=opentools -VERSION=1.0 - -PLUGINFILES=$(BASE).php readme.txt LICENSE.txt - -TRANSLATIONS= -ZIPFILE=$(PLATTFORM)-$(BASE)-v$(VERSION).zip - -all: zip - -zip: $(PLUGINFILES) $(TRANSLATIONS) $(ADVANCEDFILES) $(INDEXFILES) - @echo "Packing all files into distribution file $(ZIPFILE):" - @zip -r $(ZIPFILE) $(PLUGINFILES) $(TRANSLATIONS) $(INDEXFILES) $(FIELDS) - -clean: - rm -f $(ZIPFILE) diff --git a/plugins/user_order_count/LICENSE.txt b/plugins/woocommerce-ordernumber-userordercount/LICENSE.txt similarity index 100% rename from plugins/user_order_count/LICENSE.txt rename to plugins/woocommerce-ordernumber-userordercount/LICENSE.txt diff --git a/plugins/woocommerce-ordernumber-userordercount/Makefile b/plugins/woocommerce-ordernumber-userordercount/Makefile new file mode 100644 index 0000000..8ef2bfd --- /dev/null +++ b/plugins/woocommerce-ordernumber-userordercount/Makefile @@ -0,0 +1,24 @@ +BASE=woocommerce-ordernumber-userordercount +PLATTFORM=woocommerce +VENDOR=opentools +VERSION=1.0 + +DIR = $(shell pwd) +BUILDDIR=.build/ + +PLUGINFILES=$(BASE).php readme.txt LICENSE.txt + +TRANSLATIONS= +ZIPFILE=$(BASE)-v$(VERSION).zip + +all: zip + +zip: $(PLUGINFILES) $(TRANSLATIONS) + @echo "Packing plugin into distribution file $(ZIPFILE):" + @mkdir -p $(BUILDDIR)/$(BASE) + @cp --parents -r $(PLUGINFILES) $(TRANSLATIONS) $(BUILDDIR)/$(BASE)/ + cd $(BUILDDIR) && zip -r $(DIR)/$(ZIPFILE) $(BASE) + cd $(DIR) + +clean: + rm -rf $(ZIPFILE) $(BUILDDIR) diff --git a/plugins/user_order_count/readme.txt b/plugins/woocommerce-ordernumber-userordercount/readme.txt similarity index 66% rename from plugins/user_order_count/readme.txt rename to plugins/woocommerce-ordernumber-userordercount/readme.txt index 7fb61cc..1d48b80 100644 --- a/plugins/user_order_count/readme.txt +++ b/plugins/woocommerce-ordernumber-userordercount/readme.txt @@ -1,5 +1,5 @@ -=== User_order_count extension for OpenTools Ordernumbers for WooCommerce === -Plugin Name: User_order_count extension for OpenTools Ordernumbers for WooCommerce +=== UserOrderCount Ordernumber extension for WC === +Plugin Name: UserOrderCount extension for OpenTools Ordernumbers for WooCommerce Contributors: opentools Tags: WooCommerce, Order numbers, orders Requires at least: 4.0 @@ -8,15 +8,15 @@ Stable tag: 1.0 License: GPLv3 or later License URI: http://www.gnu.org/licenses/gpl.html -Extension plugin for the OpenTools Basic/Advanced Ordernumbers for WooCommerce. -Custom variables can be provided. - +An extension plugin for the OpenTools Basic / Advanced Ordernumber for WooCommerce +plugin that adds the number of orders the user has already posted in the +variable UserOrderCount. == Description == -This extension plugin is a template to show how custom plugins can add new variables -for use in the order/invoice numbers generated by the OpenTools Basic/Advanced -Ordernumbers plugin for WooCommerce. +An extension plugin for the OpenTools Basic / Advanced Ordernumber for WooCommerce +plugin that adds the number of orders the user has already posted in the +variable UserOrderCount. For the full documentation of both the basic and the advanced ordernumbers plugin for WooCommerce, see: http://open-tools.net/documentation/advanced-order-numbers-for-woocommerce.html diff --git a/plugins/woocommerce-ordernumber-userordercount/woocommerce-ordernumber-userordercount-v1.0.zip b/plugins/woocommerce-ordernumber-userordercount/woocommerce-ordernumber-userordercount-v1.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..91688a07d61f25b2bd4326db94e5fe14460dacf0 GIT binary patch literal 14490 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 literal 0 HcmV?d00001 diff --git a/plugins/user_order_count/user_order_count.php b/plugins/woocommerce-ordernumber-userordercount/woocommerce-ordernumber-userordercount.php similarity index 53% rename from plugins/user_order_count/user_order_count.php rename to plugins/woocommerce-ordernumber-userordercount/woocommerce-ordernumber-userordercount.php index 1bac401..249917d 100644 --- a/plugins/user_order_count/user_order_count.php +++ b/plugins/woocommerce-ordernumber-userordercount/woocommerce-ordernumber-userordercount.php @@ -1,12 +1,14 @@ <?php /** - * Plugin Name: User_order_count extension plugin for OpenTools Basic/Advanced Ordernumbers for WooCommerce + * Plugin Name: UserOrderCount Ordernumber extension for WC * Plugin URI: http://open-tools.net/woocommerce/advanced-ordernumbers-for-woocommerce.html - * Description: A sample template for an extension plugin for the OpenTools Basic / Advanced Ordernumber for WooCommerce plugin. This extension plugin can provide additional variables, modify existing variables and post-process the generated numbers. + * Description: An extension plugin for the OpenTools Basic / Advanced Ordernumber + * for WooCommerce plugin that adds the number of orders the user has already + * posted in the variable UserOrderCount. * Version: 1.0 * Author: Open Tools * Author URI: http://open-tools.net - * Text Domain: woocommerce-ordernumbers-extension-User_order_count + * Text Domain: woocommerce-ordernumbers-extension-Woocommerce-ordernumber-userordercount * License: GPL2+ * Network: true */ @@ -27,20 +29,11 @@ if ( ! defined( 'ABSPATH' ) ) { * * Returns the new array of variables (even if unmodified!) */ -add_filter('opentools_ordernumber_replacements', "ordernumber_replacements_User_order_count", 10, 3); +add_filter('opentools_ordernumber_replacements', "ordernumber_replacements_userordercount", 10, 3); -ordernumber_replacements_User_order_count($reps, $details, $nrtype) { +function ordernumber_replacements_userordercount($reps, $details, $nrtype) { + // Return the number of orders this user has already posted $userid = $details->get_user_id(); - - // Case 1: Return the number of orders this user has already posted (+1, - // because the current order is not yet registered with WC!) - $reps['[userordercount]'] = wc_get_customer_order_count($userid)+1; - - // Case 2: Add a [Type] variable that holds either "ordernumber" or "invoice" - $reps['[type]'] = $nrtype; - - // Case 3: Modify an existing variable: - $reps['[second]'] = $reps['[second]'] + 15; - + $reps['[userordercount]'] = wc_get_customer_order_count($userid); return $reps; } -- GitLab