From e9a0a8ca5debe14be5cb37d7ead498b957a676f7 Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Fri, 11 Jan 2013 19:57:42 +0100
Subject: [PATCH] V1.6.1: Fix issues with updated/moved language files (need to
 remove old files from global language dir)

Created and install ordernumber.script.php to run code on plugin update; Also removes the mysql table upon deinstallation.
---
 Makefile                                      |   4 +-
 ordernumber.php                               |   4 +-
 ordernumber.script.php                        |  77 ++++++++++++++++++
 ordernumber.xml                               |   6 +-
 releases/plg_vmshopper_ordernumber_v1.6.1.zip | Bin 0 -> 10293 bytes
 5 files changed, 85 insertions(+), 6 deletions(-)
 create mode 100644 ordernumber.script.php
 create mode 100644 releases/plg_vmshopper_ordernumber_v1.6.1.zip

diff --git a/Makefile b/Makefile
index 16832eb..38addfd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
 BASE=ordernumber
 PLUGINTYPE=vmshopper
-VERSION=1.6
+VERSION=1.6.1
 
-PLUGINFILES=$(BASE).php $(BASE).xml index.html
+PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html
 # TRANSDIR=../../../administrator/language/
 # TRANSLATIONS=$(call wildcard,$(TRANSDIR)/*/*.plg_$(PLUGINTYPE)_$(BASE).sys.ini)
 TRANSLATIONS=$(call wildcard,language/*/*.plg_$(PLUGINTYPE)_$(BASE).sys.ini) language/index.html $(call wildcard,language/**/index.html)
diff --git a/ordernumber.php b/ordernumber.php
index 975959a..ea08c77 100644
--- a/ordernumber.php
+++ b/ordernumber.php
@@ -106,7 +106,7 @@ class plgVmShopperOrdernumber extends vmShopperPlugin {
     function plgVmOnUpdateOrderBEShopper($_orderID) {}
 
     /* Replace the format variables, match[1] is the variable name, match[2] and match[3] are only used for random fields */
-    /* Type 0 means order number, type 1 means invoice number, type 2 means customer number */
+    /* Type 0 means order number, type 1 means invoice number, type 2 means customer number, 3 means order password */
     function replace_fields ($fmt, $nrtype, $details) {
         // Match variables for the form random[type][count] and everything else.
         // This makes it possible to handle "random" just like any other type!
@@ -172,7 +172,7 @@ class plgVmShopperOrdernumber extends vmShopperPlugin {
         // Is order password customization enabled?
         if ($this->params->get('customize_order_password')) {
           $fmt = $this->params->get ('order_password_format', "[randomHex8]");
-          $passwd = $this->replace_fields ($fmt, $orderDetails);
+          $passwd = $this->replace_fields ($fmt, 3, $orderDetails);
           $orderDetails->order_pass = $passwd;
         }
     }
diff --git a/ordernumber.script.php b/ordernumber.script.php
new file mode 100644
index 0000000..d7146b7
--- /dev/null
+++ b/ordernumber.script.php
@@ -0,0 +1,77 @@
+<?php
+defined('_JEXEC') or die('Restricted access');
+
+class plgVmShopperOrdernumberInstallerScript
+{
+    /**
+     * Constructor
+     *
+     * @param   JAdapterInstance  $adapter  The object responsible for running this script
+     */
+//     public function __constructor(JAdapterInstance $adapter);
+ 
+    /**
+     * Called before any type of action
+     *
+     * @param   string  $route  Which action is happening (install|uninstall|discover_install)
+     * @param   JAdapterInstance  $adapter  The object responsible for running this script
+     *
+     * @return  boolean  True on success
+     */
+//     public function preflight($route, JAdapterInstance $adapter);
+ 
+    /**
+     * Called after any type of action
+     *
+     * @param   string  $route  Which action is happening (install|uninstall|discover_install)
+     * @param   JAdapterInstance  $adapter  The object responsible for running this script
+     *
+     * @return  boolean  True on success
+     */
+//     public function postflight($route, JAdapterInstance $adapter);
+ 
+    /**
+     * Called on installation
+     *
+     * @param   JAdapterInstance  $adapter  The object responsible for running this script
+     *
+     * @return  boolean  True on success
+     */
+    public function install(JAdapterInstance $adapter)
+    {
+        // enabling plugin
+        $db =& JFactory::getDBO();
+        $db->setQuery('update #__extensions set enabled = 1 where type = "plugin" and element = "ordernumber" and folder = "vmshopper"');
+        $db->query();
+        
+        return True;
+    }
+ 
+    /**
+     * Called on update
+     *
+     * @param   JAdapterInstance  $adapter  The object responsible for running this script
+     *
+     * @return  boolean  True on success
+     */
+    public function update(JAdapterInstance $adapter)
+    {
+        jimport( 'joomla.filesystem.file' ); 
+        JFile::delete( JPATH_ROOT . DS . "administrator" . DS . "language" . DS . "en-GB" . DS . "en-GB.plg_vmshopper_ordernumber.sys.ini"); 
+        JFile::delete( JPATH_ROOT . DS . "administrator" . DS . "language" . DS . "de-DE" . DS . "de-DE.plg_vmshopper_ordernumber.sys.ini"); 
+        return true;
+    }
+ 
+    /**
+     * Called on uninstallation
+     *
+     * @param   JAdapterInstance  $adapter  The object responsible for running this script
+     */
+    public function uninstall(JAdapterInstance $adapter)
+    {
+        // Remove plugin table
+        $db =& JFactory::getDBO();
+        $db->setQuery('DROP TABLE `#__virtuemart_shopper_plg_ordernumber`;');
+        $db->query();
+    }
+}
\ No newline at end of file
diff --git a/ordernumber.xml b/ordernumber.xml
index bec61da..ca874ed 100644
--- a/ordernumber.xml
+++ b/ordernumber.xml
@@ -7,7 +7,7 @@
     <authorUrl>http://www.kainhofer.com/</authorUrl>
     <copyright>Copyright (C) 2012-2013 Reinhold Kainhofer. All rights reserved.</copyright>
     <license>http://www.gnu.org/licenses/gpl-3.0.html GNU/GPLv3</license>
-    <version>1.6.0</version>
+    <version>1.6.1</version>
     <releaseDate>2013-01-09</releaseDate>
     <releaseType>Minor update</releaseType>
     <downloadUrl>http://www.kainhofer.com/virtuemart-2-extensions/vm2-ordernumber-plugin.html</downloadUrl>
@@ -16,9 +16,11 @@
 
     <files>
         <filename plugin="ordernumber">ordernumber.php</filename>
-	<filename>index.html</filename>
+        <filename>ordernumber.script.php</filename>
+        <filename>index.html</filename>
         <folder>language</folder>
     </files>
+    <scriptfile>ordernumber.script.php</scriptfile>
     <config>
         <fields name="params">
             <fieldset name="basic">
diff --git a/releases/plg_vmshopper_ordernumber_v1.6.1.zip b/releases/plg_vmshopper_ordernumber_v1.6.1.zip
new file mode 100644
index 0000000000000000000000000000000000000000..90a116731b6c1a6873eb4ce9e559eccacd81dfc0
GIT binary patch
literal 10293
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

literal 0
HcmV?d00001

-- 
GitLab