From f14ecef69feb9c917c52e69e07cc5741833c92f9 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Sat, 16 Aug 2014 02:16:26 +0200 Subject: [PATCH] V1.9: Update for Joomla 3.x; Dropped support for Joomla 1.x --- Makefile | 2 +- .../de-DE/de-DE.plg_vmshopper_ordernumber.ini | 7 +- .../de-DE.plg_vmshopper_ordernumber.sys.ini | 7 +- .../en-GB/en-GB.plg_vmshopper_ordernumber.ini | 15 +-- .../en-GB.plg_vmshopper_ordernumber.sys.ini | 15 +-- ordernumber.script.php | 2 +- ordernumber.xml | 116 +++--------------- releases/plg_vmshopper_ordernumber_v1.9.zip | Bin 0 -> 12188 bytes 8 files changed, 36 insertions(+), 128 deletions(-) create mode 100644 releases/plg_vmshopper_ordernumber_v1.9.zip diff --git a/Makefile b/Makefile index c99db71..3673229 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ BASE=ordernumber PLUGINTYPE=vmshopper -VERSION=1.8.2 +VERSION=1.9 PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html diff --git a/language/de-DE/de-DE.plg_vmshopper_ordernumber.ini b/language/de-DE/de-DE.plg_vmshopper_ordernumber.ini index dd34f34..fc1f00a 100644 --- a/language/de-DE/de-DE.plg_vmshopper_ordernumber.ini +++ b/language/de-DE/de-DE.plg_vmshopper_ordernumber.ini @@ -1,12 +1,9 @@ ; VM2 Customize Order/Invoice numbers plugin -; Copyright (C) 2012 Reinhold Kainhofer. All rights reserved. +; Copyright (C) 2012-2014 Reinhold Kainhofer. All rights reserved. ; License http://www.gnu.org/licenses/gpl.html GNU/GPL ; Note : All ini files need to be saved as UTF-8 - No BOM VMSHOPPER_ORDERNUMBER="VM2 - Plugin zur Anpassung von Auftrags-, Rechnungs- und Kundennummern" -VMSHOPPER_ORDERNUMBER_DESC="Dieses Plugin erlaubt es Ihnen, das Format von Auftrags-, Rechnungs- und Kundennummern in VirtueMart 2 anzupassen.<br/><br/> <div style='font-weight: normal'> <p style='font-weight: normal'> Das Format der Auftrags-, Rechnungs- und Kundennummern ist ein einfacher Text, wobei <tt>#</tt> die laufende Nummer anzeigt und <tt>[variable]</tt> als Variable interpretiert und durch deren Wert ersetzt wird. Aktuell sind folgende Variablen möglich (Groß-/Kleinschreibung ist egal):<table border=1> <tr><td>year</td><td>Aktuelles Jahr (4 Ziffern)</td></tr> <tr><td>year2</td><td>Aktuelles Jahr (2 Ziffern)</td></tr> <tr><td>month</td><td>Aktuelles Monat (2 Ziffern); mit führenden Nullen wenn nötig</td></tr> <tr><td>day</td><td>Aktueller Tar (2 Ziffern); mit führenden Nullen wenn nötig</td></tr> <tr><td>hour</td><td>Aktuelle Stunde im 24-Stunden Format; mit führenden Nullen wenn nötig</td></tr> <tr><td>hour12</td><td>Aktuelles Stunde in 12-Stunden Format; mit führenden Nullen wenn nötig</td></tr> <tr><td>ampm</td><td>Aktuelles am-pm (für 12-Stunden Format) in Kleinschreibung</td></tr> <tr><td>minute</td><td>Aktuelle Minute; mit führenden Nullen wenn nötig</td></tr> <tr><td>second</td><td>Aktuelle Sekunde; mit führenden Nullen wenn nötig</td></tr> <tr><td>randomDigit<em>[n]</em></td><td>Zufallsfolge von n Dezimalziffern (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomHex<em>[n]</em></td><td>Zufallsfolge von n Hexadezimalziffern (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomLetter<em>[n]</em></td><td>Zufallsfolge von n Groß- und Kleinbuchstaben (Groß- und Kleinschreibung) (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomULetter<em>[n]</em></td><td>Zufallsfolge von n Großbuchstaben (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomLLetter<em>[n]</em></td><td>Zufallsfolge von n Kleinbuchstaben (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomAlphanum<em>[n]</em></td><td>Zufallsfolge von n allgemeinen alphanumerischen Zeichen (A-Z, a-z, 0-9) (n=1 wenn nicht angegeben).</td></tr> <tr><td>vendorID</td><td>(Interne) VirtueMart Verkäufer ID</td></tr> <tr><td>userID</td><td>(Interne) VirtueMart Benutzer ID</td></tr> <tr><td>IPaddress</td><td>IP-Addresse des Käufers</td></tr> <tr><th colspan=2><em>Nur für Rechnungsnummern:</em></td></tr> <tr><td>orderNumber</td><td>Auftragsnummer, für die die Rechnung erstellt wird</td></tr> <tr><td>orderID</td><td>(Interne) Auftrags-ID, für die die Rechnung erstellt wird</td></tr> <tr><td>Lastname</td><td>Nachname des Käufers (Rechnungsadresse)</td></tr> <tr><td>Firstname</td><td>Vorname des Käufers (Rechnungsadresse)</td></tr> <tr><td>Company</td><td>Unternehmen des Käufers (Rechnungsadresse)</td></tr> <tr><td>City</td><td>Ort des Käufers (Rechnungsadresse)</td></tr> <tr><td>zip</td><td>Postleitzahl des Käufers (Rechnungsadresse)</td></tr> <tr><td>orderStatus</td><td>Status der Bestellung (Kürzel: S, R, X, C, U, P)</td></tr> </table> <p>Die gesamte Dokumentation findet sich auf der Homepage des Plugins: <a href='http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html'>http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html</a></p> </div>" - -PLG_ORDERNUMBER_YES="Ja" -PLG_ORDERNUMBER_NO="Nein" +VMSHOPPER_ORDERNUMBER_DESC=" <div style='font-weight: normal; text-align:left; background: #EEEEEE;'><h2>Ordernumber plugin für Virtuemart (2.x und 3.x)</h2><p style='font-weight: normal'>Dieses Plugin erlaubt die Anpassung des Formats von Auftrags-, Rechnungs- und Kundennummern in VirtueMart 2.x und 3.0.</p><p>Das Format der Auftrags-, Rechnungs- und Kundennummern ist ein einfacher Text, wobei <tt>#</tt> die laufende Nummer anzeigt und <tt>[variable]</tt> als Variable interpretiert und durch deren Wert ersetzt wird.</p><p>Die vollständige Dokumentation ist zu finden auf: <a href='http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html'>http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html</a></p> </div>" PLG_ORDERNUMBER_COUNTER_GLOBAL="Global" PLG_ORDERNUMBER_COUNTER_PERFORMAT="Eigener Zähler pro Formatwert" diff --git a/language/de-DE/de-DE.plg_vmshopper_ordernumber.sys.ini b/language/de-DE/de-DE.plg_vmshopper_ordernumber.sys.ini index dd34f34..fc1f00a 100644 --- a/language/de-DE/de-DE.plg_vmshopper_ordernumber.sys.ini +++ b/language/de-DE/de-DE.plg_vmshopper_ordernumber.sys.ini @@ -1,12 +1,9 @@ ; VM2 Customize Order/Invoice numbers plugin -; Copyright (C) 2012 Reinhold Kainhofer. All rights reserved. +; Copyright (C) 2012-2014 Reinhold Kainhofer. All rights reserved. ; License http://www.gnu.org/licenses/gpl.html GNU/GPL ; Note : All ini files need to be saved as UTF-8 - No BOM VMSHOPPER_ORDERNUMBER="VM2 - Plugin zur Anpassung von Auftrags-, Rechnungs- und Kundennummern" -VMSHOPPER_ORDERNUMBER_DESC="Dieses Plugin erlaubt es Ihnen, das Format von Auftrags-, Rechnungs- und Kundennummern in VirtueMart 2 anzupassen.<br/><br/> <div style='font-weight: normal'> <p style='font-weight: normal'> Das Format der Auftrags-, Rechnungs- und Kundennummern ist ein einfacher Text, wobei <tt>#</tt> die laufende Nummer anzeigt und <tt>[variable]</tt> als Variable interpretiert und durch deren Wert ersetzt wird. Aktuell sind folgende Variablen möglich (Groß-/Kleinschreibung ist egal):<table border=1> <tr><td>year</td><td>Aktuelles Jahr (4 Ziffern)</td></tr> <tr><td>year2</td><td>Aktuelles Jahr (2 Ziffern)</td></tr> <tr><td>month</td><td>Aktuelles Monat (2 Ziffern); mit führenden Nullen wenn nötig</td></tr> <tr><td>day</td><td>Aktueller Tar (2 Ziffern); mit führenden Nullen wenn nötig</td></tr> <tr><td>hour</td><td>Aktuelle Stunde im 24-Stunden Format; mit führenden Nullen wenn nötig</td></tr> <tr><td>hour12</td><td>Aktuelles Stunde in 12-Stunden Format; mit führenden Nullen wenn nötig</td></tr> <tr><td>ampm</td><td>Aktuelles am-pm (für 12-Stunden Format) in Kleinschreibung</td></tr> <tr><td>minute</td><td>Aktuelle Minute; mit führenden Nullen wenn nötig</td></tr> <tr><td>second</td><td>Aktuelle Sekunde; mit führenden Nullen wenn nötig</td></tr> <tr><td>randomDigit<em>[n]</em></td><td>Zufallsfolge von n Dezimalziffern (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomHex<em>[n]</em></td><td>Zufallsfolge von n Hexadezimalziffern (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomLetter<em>[n]</em></td><td>Zufallsfolge von n Groß- und Kleinbuchstaben (Groß- und Kleinschreibung) (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomULetter<em>[n]</em></td><td>Zufallsfolge von n Großbuchstaben (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomLLetter<em>[n]</em></td><td>Zufallsfolge von n Kleinbuchstaben (n=1 wenn nicht angegeben).</td></tr> <tr><td>randomAlphanum<em>[n]</em></td><td>Zufallsfolge von n allgemeinen alphanumerischen Zeichen (A-Z, a-z, 0-9) (n=1 wenn nicht angegeben).</td></tr> <tr><td>vendorID</td><td>(Interne) VirtueMart Verkäufer ID</td></tr> <tr><td>userID</td><td>(Interne) VirtueMart Benutzer ID</td></tr> <tr><td>IPaddress</td><td>IP-Addresse des Käufers</td></tr> <tr><th colspan=2><em>Nur für Rechnungsnummern:</em></td></tr> <tr><td>orderNumber</td><td>Auftragsnummer, für die die Rechnung erstellt wird</td></tr> <tr><td>orderID</td><td>(Interne) Auftrags-ID, für die die Rechnung erstellt wird</td></tr> <tr><td>Lastname</td><td>Nachname des Käufers (Rechnungsadresse)</td></tr> <tr><td>Firstname</td><td>Vorname des Käufers (Rechnungsadresse)</td></tr> <tr><td>Company</td><td>Unternehmen des Käufers (Rechnungsadresse)</td></tr> <tr><td>City</td><td>Ort des Käufers (Rechnungsadresse)</td></tr> <tr><td>zip</td><td>Postleitzahl des Käufers (Rechnungsadresse)</td></tr> <tr><td>orderStatus</td><td>Status der Bestellung (Kürzel: S, R, X, C, U, P)</td></tr> </table> <p>Die gesamte Dokumentation findet sich auf der Homepage des Plugins: <a href='http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html'>http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html</a></p> </div>" - -PLG_ORDERNUMBER_YES="Ja" -PLG_ORDERNUMBER_NO="Nein" +VMSHOPPER_ORDERNUMBER_DESC=" <div style='font-weight: normal; text-align:left; background: #EEEEEE;'><h2>Ordernumber plugin für Virtuemart (2.x und 3.x)</h2><p style='font-weight: normal'>Dieses Plugin erlaubt die Anpassung des Formats von Auftrags-, Rechnungs- und Kundennummern in VirtueMart 2.x und 3.0.</p><p>Das Format der Auftrags-, Rechnungs- und Kundennummern ist ein einfacher Text, wobei <tt>#</tt> die laufende Nummer anzeigt und <tt>[variable]</tt> als Variable interpretiert und durch deren Wert ersetzt wird.</p><p>Die vollständige Dokumentation ist zu finden auf: <a href='http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html'>http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html</a></p> </div>" PLG_ORDERNUMBER_COUNTER_GLOBAL="Global" PLG_ORDERNUMBER_COUNTER_PERFORMAT="Eigener Zähler pro Formatwert" diff --git a/language/en-GB/en-GB.plg_vmshopper_ordernumber.ini b/language/en-GB/en-GB.plg_vmshopper_ordernumber.ini index bc9ce5c..eb64f59 100644 --- a/language/en-GB/en-GB.plg_vmshopper_ordernumber.ini +++ b/language/en-GB/en-GB.plg_vmshopper_ordernumber.ini @@ -1,13 +1,10 @@ ; VM2 Customize Order/Invoice numbers plugin -; Copyright (C) 2012 Reinhold Kainhofer. All rights reserved. +; Copyright (C) 2012-2014 Reinhold Kainhofer. All rights reserved. ; License http://www.gnu.org/licenses/gpl.html GNU/GPL ; Note : All ini files need to be saved as UTF-8 - No BOM VMSHOPPER_ORDERNUMBER="VM2 - Custom Order, Invoice and Customer Number plugin" -VMSHOPPER_ORDERNUMBER_DESC="This plugin is used to create custom order, invoice and customer numbers for Virtuemart 2<br/><br/> <div style='font-weight: normal'> <p style='font-weight: normal'> The format of the numbers is a free-form text string, where <tt>#</tt> indicates the running counter and <tt>[variable]</tt> is understood as a variable and replaced by its current value. Currently, the following variables are available (case-insensitive):<table border=1> <tr><td>year</td><td>Current year (4 digits)</td></tr> <tr><td>year2</td><td>Current year (2 digits)</td></tr> <tr><td>month</td><td>Current month (2 digits); leading zeros if necessary</td></tr> <tr><td>day</td><td>Current day (2 digits); leading zeros if necessary</td></tr> <tr><td>hour</td><td>Current hour in 24-hour format; leading zeros if necessary</td></tr> <tr><td>hour12</td><td>Current hour in 12-hour format; leading zeros if necessary</td></tr> <tr><td>ampm</td><td>Current am-pm (for 12-hour format) in lower-case</td></tr> <tr><td>minute</td><td>Current minute; leading zeros if necessary</td></tr> <tr><td>second</td><td>Current second; leading zeros if necessary</td></tr> <tr><td>randomDigit<em>[n]</em></td><td>Random sequences of n decimal digits (n=1 if not given).</td></tr> <tr><td>randomHex<em>[n]</em></td><td>Random sequences of n hexadecimal digits (n=1 if not given).</td></tr> <tr><td>randomLetter<em>[n]</em></td><td>Random sequences of n (upper- and lowercase) letters (n=1 if not given).</td></tr> <tr><td>randomULetter<em>[n]</em></td><td>Random sequences of n uppercase letters (n=1 if not given).</td></tr> <tr><td>randomLLetter<em>[n]</em></td><td>Random sequences of n lowercase letters (n=1 if not given).</td></tr> <tr><td>randomAlphanum<em>[n]</em></td><td>Random sequences of n general alphanumeric characters (A-Z, a-z, 0-9) (n=1 if not given).</td></tr> <tr><td>vendorID</td><td>(Internal) VirtueMart Vendor ID</td></tr> <tr><td>userID</td><td>(Internal) VirtueMart User ID</td></tr> <tr><td>IPaddress</td><td>IP-Address of the shopper's computer</td></tr> <tr><th colspan=2><em>Only for invoice Numbers:</em></td></tr> <tr><td>orderNumber</td><td>Order number, for which the invoice is created</td></tr> <tr><td>orderID</td><td>(Internal) Order ID, for which the invoice is created</td></tr> <tr><td>Lastname</td><td>Last name of the shopper (billing address)</td></tr> <tr><td>Firstname</td><td>First name of the shopper (billing address)</td></tr> <tr><td>Company</td><td>Company of the shopper (billing address)</td></tr> <tr><td>City</td><td>City of the shopper (billing address)</td></tr> <tr><td>zip</td><td>ZIP of the shopper (billing address)</td></tr> <tr><td>orderStatus</td><td>Status of the order (abbreviations: S, R, X, C, U, P)</td></tr> </table> <p>The full documentation can be found at the homepage: <a href='http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html'>http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html</a></p> </div>" - -PLG_ORDERNUMBER_YES="Yes" -PLG_ORDERNUMBER_NO="No" +VMSHOPPER_ORDERNUMBER_DESC=" <div style='font-weight: normal; text-align:left; background: #EEEEEE;'><h2>Ordernumber plugin for Virtuemart (2.x and 3.x)</h2><p style='font-weight: normal'>This plugin is used to create custom order, invoice and customer numbers for Virtuemart 2. The format of the numbers can be specified freely and several variables (year, month, day, time, addresses, etc.) can be used in the format.</p><p>The format of the numbers is a free-form text string, where <tt>#</tt> indicates the running counter and <tt>[variable]</tt> is understood as a variable and replaced by its current value.</p><p>The full documentation can be found at the homepage: <a href='http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html'>http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html</a></p> </div>" PLG_ORDERNUMBER_COUNTER_GLOBAL="Global" PLG_ORDERNUMBER_COUNTER_PERFORMAT="Separate counter per format value" @@ -15,7 +12,7 @@ PLG_ORDERNUMBER_COUNTER_PERFORMAT="Separate counter per format value" PLG_ORDERNUMBER_ORDERNR="<b>Order numbers</b>" PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE="Customize order numbers" PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE_DESC="Check here if you want customized order number formats rather than the default." -PLG_ORDERNUMBER_ORDERNR_FMT="Format of the order numbers" +PLG_ORDERNUMBER_ORDERNR_FMT="Format for order numbers" PLG_ORDERNUMBER_ORDERNR_FMT_DESC="Here you can customize the order number" PLG_ORDERNUMBER_ORDERNR_COUNTER="Counter" PLG_ORDERNUMBER_ORDERNR_COUNTER_DESC="Choose whether you want one global counter or per-format value counters. E.g. with a format of '[year]-#' and the latter option checked, the order count will be within the year only." @@ -25,13 +22,13 @@ PLG_ORDERNUMBER_ORDERNR_PADDING_DESC="Select the minimum number of digits that t PLG_ORDERNUMBER_PASSWD="<b>Order password</b>" PLG_ORDERNUMBER_PASSWD_CUSTOMIZE="Customize order password" PLG_ORDERNUMBER_PASSWD_CUSTOMIZE_DESC="Check here if you want customized order password formats rather than the default." -PLG_ORDERNUMBER_PASSWD_FMT="Format of the order password" +PLG_ORDERNUMBER_PASSWD_FMT="Format for order passwords" PLG_ORDERNUMBER_PASSWD_FMT_DESC="Here you can customize the order password (# is NOT replaced)" PLG_ORDERNUMBER_INVOICENR="<b>Invoice numbers</b>" PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE="Customize invoice numbers" PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE_DESC="Check here if you want customized invoice number formats rather than the default." -PLG_ORDERNUMBER_INVOICENR_FMT="Format of the invoice numbers" +PLG_ORDERNUMBER_INVOICENR_FMT="Format for invoice numbers" PLG_ORDERNUMBER_INVOICENR_FMT_DESC="Here you can customize the invoice number" PLG_ORDERNUMBER_INVOICENR_COUNTER="Counter" PLG_ORDERNUMBER_INVOICENR_COUNTER_DESC="Choose whether you want one global counter or per-format value counters. E.g. with a format of '[year]-#' and the latter option checked, the invoice count will be within the year only." @@ -41,7 +38,7 @@ PLG_ORDERNUMBER_INVOICENR_PADDING_DESC="Select the minimum number of digits that PLG_ORDERNUMBER_CUSTOMERNR="<b>Customer numbers</b>" PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE="Customize customer numbers" PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE_DESC="Check here if you want customized customer number formats rather than the default." -PLG_ORDERNUMBER_CUSTOMERNR_FMT="Format of the customer numbers" +PLG_ORDERNUMBER_CUSTOMERNR_FMT="Format for customer numbers" PLG_ORDERNUMBER_CUSTOMERNR_FMT_DESC="Here you can customize the customer number" PLG_ORDERNUMBER_CUSTOMERNR_COUNTER="Counter" PLG_ORDERNUMBER_CUSTOMERNR_COUNTER_DESC="Choose whether you want one global counter or per-format value counters. E.g. with a format of '[year]-#' and the latter option checked, the customer count will be within the year only." diff --git a/language/en-GB/en-GB.plg_vmshopper_ordernumber.sys.ini b/language/en-GB/en-GB.plg_vmshopper_ordernumber.sys.ini index bc9ce5c..eb64f59 100644 --- a/language/en-GB/en-GB.plg_vmshopper_ordernumber.sys.ini +++ b/language/en-GB/en-GB.plg_vmshopper_ordernumber.sys.ini @@ -1,13 +1,10 @@ ; VM2 Customize Order/Invoice numbers plugin -; Copyright (C) 2012 Reinhold Kainhofer. All rights reserved. +; Copyright (C) 2012-2014 Reinhold Kainhofer. All rights reserved. ; License http://www.gnu.org/licenses/gpl.html GNU/GPL ; Note : All ini files need to be saved as UTF-8 - No BOM VMSHOPPER_ORDERNUMBER="VM2 - Custom Order, Invoice and Customer Number plugin" -VMSHOPPER_ORDERNUMBER_DESC="This plugin is used to create custom order, invoice and customer numbers for Virtuemart 2<br/><br/> <div style='font-weight: normal'> <p style='font-weight: normal'> The format of the numbers is a free-form text string, where <tt>#</tt> indicates the running counter and <tt>[variable]</tt> is understood as a variable and replaced by its current value. Currently, the following variables are available (case-insensitive):<table border=1> <tr><td>year</td><td>Current year (4 digits)</td></tr> <tr><td>year2</td><td>Current year (2 digits)</td></tr> <tr><td>month</td><td>Current month (2 digits); leading zeros if necessary</td></tr> <tr><td>day</td><td>Current day (2 digits); leading zeros if necessary</td></tr> <tr><td>hour</td><td>Current hour in 24-hour format; leading zeros if necessary</td></tr> <tr><td>hour12</td><td>Current hour in 12-hour format; leading zeros if necessary</td></tr> <tr><td>ampm</td><td>Current am-pm (for 12-hour format) in lower-case</td></tr> <tr><td>minute</td><td>Current minute; leading zeros if necessary</td></tr> <tr><td>second</td><td>Current second; leading zeros if necessary</td></tr> <tr><td>randomDigit<em>[n]</em></td><td>Random sequences of n decimal digits (n=1 if not given).</td></tr> <tr><td>randomHex<em>[n]</em></td><td>Random sequences of n hexadecimal digits (n=1 if not given).</td></tr> <tr><td>randomLetter<em>[n]</em></td><td>Random sequences of n (upper- and lowercase) letters (n=1 if not given).</td></tr> <tr><td>randomULetter<em>[n]</em></td><td>Random sequences of n uppercase letters (n=1 if not given).</td></tr> <tr><td>randomLLetter<em>[n]</em></td><td>Random sequences of n lowercase letters (n=1 if not given).</td></tr> <tr><td>randomAlphanum<em>[n]</em></td><td>Random sequences of n general alphanumeric characters (A-Z, a-z, 0-9) (n=1 if not given).</td></tr> <tr><td>vendorID</td><td>(Internal) VirtueMart Vendor ID</td></tr> <tr><td>userID</td><td>(Internal) VirtueMart User ID</td></tr> <tr><td>IPaddress</td><td>IP-Address of the shopper's computer</td></tr> <tr><th colspan=2><em>Only for invoice Numbers:</em></td></tr> <tr><td>orderNumber</td><td>Order number, for which the invoice is created</td></tr> <tr><td>orderID</td><td>(Internal) Order ID, for which the invoice is created</td></tr> <tr><td>Lastname</td><td>Last name of the shopper (billing address)</td></tr> <tr><td>Firstname</td><td>First name of the shopper (billing address)</td></tr> <tr><td>Company</td><td>Company of the shopper (billing address)</td></tr> <tr><td>City</td><td>City of the shopper (billing address)</td></tr> <tr><td>zip</td><td>ZIP of the shopper (billing address)</td></tr> <tr><td>orderStatus</td><td>Status of the order (abbreviations: S, R, X, C, U, P)</td></tr> </table> <p>The full documentation can be found at the homepage: <a href='http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html'>http://www.kainhofer.com/virtuemart-2-extensions/40-vm2-ordernumber.html</a></p> </div>" - -PLG_ORDERNUMBER_YES="Yes" -PLG_ORDERNUMBER_NO="No" +VMSHOPPER_ORDERNUMBER_DESC=" <div style='font-weight: normal; text-align:left; background: #EEEEEE;'><h2>Ordernumber plugin for Virtuemart (2.x and 3.x)</h2><p style='font-weight: normal'>This plugin is used to create custom order, invoice and customer numbers for Virtuemart 2. The format of the numbers can be specified freely and several variables (year, month, day, time, addresses, etc.) can be used in the format.</p><p>The format of the numbers is a free-form text string, where <tt>#</tt> indicates the running counter and <tt>[variable]</tt> is understood as a variable and replaced by its current value.</p><p>The full documentation can be found at the homepage: <a href='http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html'>http://open-tools.net/documentation/ordernumber-plugin-for-virtuemart.html</a></p> </div>" PLG_ORDERNUMBER_COUNTER_GLOBAL="Global" PLG_ORDERNUMBER_COUNTER_PERFORMAT="Separate counter per format value" @@ -15,7 +12,7 @@ PLG_ORDERNUMBER_COUNTER_PERFORMAT="Separate counter per format value" PLG_ORDERNUMBER_ORDERNR="<b>Order numbers</b>" PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE="Customize order numbers" PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE_DESC="Check here if you want customized order number formats rather than the default." -PLG_ORDERNUMBER_ORDERNR_FMT="Format of the order numbers" +PLG_ORDERNUMBER_ORDERNR_FMT="Format for order numbers" PLG_ORDERNUMBER_ORDERNR_FMT_DESC="Here you can customize the order number" PLG_ORDERNUMBER_ORDERNR_COUNTER="Counter" PLG_ORDERNUMBER_ORDERNR_COUNTER_DESC="Choose whether you want one global counter or per-format value counters. E.g. with a format of '[year]-#' and the latter option checked, the order count will be within the year only." @@ -25,13 +22,13 @@ PLG_ORDERNUMBER_ORDERNR_PADDING_DESC="Select the minimum number of digits that t PLG_ORDERNUMBER_PASSWD="<b>Order password</b>" PLG_ORDERNUMBER_PASSWD_CUSTOMIZE="Customize order password" PLG_ORDERNUMBER_PASSWD_CUSTOMIZE_DESC="Check here if you want customized order password formats rather than the default." -PLG_ORDERNUMBER_PASSWD_FMT="Format of the order password" +PLG_ORDERNUMBER_PASSWD_FMT="Format for order passwords" PLG_ORDERNUMBER_PASSWD_FMT_DESC="Here you can customize the order password (# is NOT replaced)" PLG_ORDERNUMBER_INVOICENR="<b>Invoice numbers</b>" PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE="Customize invoice numbers" PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE_DESC="Check here if you want customized invoice number formats rather than the default." -PLG_ORDERNUMBER_INVOICENR_FMT="Format of the invoice numbers" +PLG_ORDERNUMBER_INVOICENR_FMT="Format for invoice numbers" PLG_ORDERNUMBER_INVOICENR_FMT_DESC="Here you can customize the invoice number" PLG_ORDERNUMBER_INVOICENR_COUNTER="Counter" PLG_ORDERNUMBER_INVOICENR_COUNTER_DESC="Choose whether you want one global counter or per-format value counters. E.g. with a format of '[year]-#' and the latter option checked, the invoice count will be within the year only." @@ -41,7 +38,7 @@ PLG_ORDERNUMBER_INVOICENR_PADDING_DESC="Select the minimum number of digits that PLG_ORDERNUMBER_CUSTOMERNR="<b>Customer numbers</b>" PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE="Customize customer numbers" PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE_DESC="Check here if you want customized customer number formats rather than the default." -PLG_ORDERNUMBER_CUSTOMERNR_FMT="Format of the customer numbers" +PLG_ORDERNUMBER_CUSTOMERNR_FMT="Format for customer numbers" PLG_ORDERNUMBER_CUSTOMERNR_FMT_DESC="Here you can customize the customer number" PLG_ORDERNUMBER_CUSTOMERNR_COUNTER="Counter" PLG_ORDERNUMBER_CUSTOMERNR_COUNTER_DESC="Choose whether you want one global counter or per-format value counters. E.g. with a format of '[year]-#' and the latter option checked, the customer count will be within the year only." diff --git a/ordernumber.script.php b/ordernumber.script.php index ef1d784..5bfe935 100644 --- a/ordernumber.script.php +++ b/ordernumber.script.php @@ -3,7 +3,7 @@ defined('_JEXEC') or die('Restricted access'); /** * Installation script for the plugin * - * @copyright Copyright (C) 2013 Reinhold Kainhofer, office@open-tools.net + * @copyright Copyright (C) 2013-2014 Reinhold Kainhofer, office@open-tools.net * @license GPL v3+, http://www.gnu.org/copyleft/gpl.html */ diff --git a/ordernumber.xml b/ordernumber.xml index f2460e2..bad71ae 100644 --- a/ordernumber.xml +++ b/ordernumber.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="UTF-8" ?> -<install version="1.6" type="plugin" group="vmshopper" method="upgrade"> +<extension version="1.6" type="plugin" group="vmshopper" method="upgrade"> <name>VMSHOPPER_ORDERNUMBER</name> <creationDate>2013-01-09</creationDate> <author>Reinhold Kainhofer</author> <authorEmail>office@open-tools.net</authorEmail> <authorUrl>http://www.open-tools.net/</authorUrl> - <copyright>Copyright (C) 2012-2014 Reinhold Kainhofer. All rights reserved.</copyright> + <copyright>Copyright (C) 2012-2014 Reinhold Kainhofer. All rights reserved.</copyright> <license>http://www.gnu.org/licenses/gpl-3.0.html GNU/GPLv3</license> - <version>1.8.2</version> - <releaseDate>2014-01-13</releaseDate> + <version>1.9</version> + <releaseDate>2014-01-13</releaseDate> <releaseType>Minor update</releaseType> <downloadUrl>http://www.open-tools.net/virtuemart-2-extensions/vm2-ordernumber-plugin.html</downloadUrl> @@ -27,14 +27,14 @@ <language tag="de-DE">de-DE/de-DE.plg_vmshopper_ordernumber.ini</language> <language tag="de-DE">de-DE/de-DE.plg_vmshopper_ordernumber.sys.ini</language> </languages> - <!-- Joomla 2.5 config --> + <!-- Joomla 2.5 & 3.0 config --> <config> <fields name="params"> <fieldset name="basic"> <field name="order_options" type="spacer" label="PLG_ORDERNUMBER_ORDERNR" /> - <field name="customize_order_number" type="radio" default="0" label="PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE" description="PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE_DESC"> - <option value="1">PLG_ORDERNUMBER_YES</option> - <option value="0">PLG_ORDERNUMBER_NO</option> + <field name="customize_order_number" type="radio" default="0" class="btn-group btn-group-yesno" label="PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE" description="PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE_DESC"> + <option value="1">JYES</option> + <option value="0">JNO</option> </field> <field name="order_number_format" type="text" default="Order-[year][month]-#" label="PLG_ORDERNUMBER_ORDERNR_FMT" description="PLG_ORDERNUMBER_ORDERNR_FMT_DESC"/> <field name="order_number_padding" type="integer" default="1" label="PLG_ORDERNUMBER_ORDERNR_PADDING" description="PLG_ORDERNUMBER_ORDERNR_PADDING_DESC" first="1" last="10" step="1" /> @@ -45,16 +45,16 @@ <field name="password_options" type="spacer" label="PLG_ORDERNUMBER_PASSWD" /> - <field name="customize_order_password" type="radio" default="0" label="PLG_ORDERNUMBER_PASSWD_CUSTOMIZE" description="PLG_ORDERNUMBER_PASSWD_CUSTOMIZE_DESC"> - <option value="1">Yes</option> - <option value="0">No</option> + <field name="customize_order_password" type="radio" default="0" class="btn-group btn-group-yesno" label="PLG_ORDERNUMBER_PASSWD_CUSTOMIZE" description="PLG_ORDERNUMBER_PASSWD_CUSTOMIZE_DESC"> + <option value="1">JYES</option> + <option value="0">JNO</option> </field> <field name="order_password_format" type="text" default="p_[randomHex5]" label="PLG_ORDERNUMBER_PASSWD_FMT" description="PLG_ORDERNUMBER_PASSWD_FMT_DESC"/> <field name="invoice_options" type="spacer" label="PLG_ORDERNUMBER_INVOICENR" /> - <field name="customize_invoice_number" type="radio" default="0" label="PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE" description="PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE_DESC"> - <option value="1">PLG_ORDERNUMBER_YES</option> - <option value="0">PLG_ORDERNUMBER_NO</option> + <field name="customize_invoice_number" type="radio" default="0" class="btn-group btn-group-yesno" label="PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE" description="PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE_DESC"> + <option value="1">JYES</option> + <option value="0">JNO</option> </field> <field name="invoice_number_format" type="text" default="[year]-#" label="PLG_ORDERNUMBER_INVOICENR_FMT" description="PLG_ORDERNUMBER_INVOICENR_FMT_DESC"/> <field name="invoice_number_padding" type="integer" default="1" label="PLG_ORDERNUMBER_INVOICENR_PADDING" description="PLG_ORDERNUMBER_INVOICENR_PADDING_DESC" first="1" last="10" step="1" /> @@ -64,9 +64,9 @@ </field> <field name="customer_options" type="spacer" label="PLG_ORDERNUMBER_CUSTOMERNR" /> - <field name="customize_customer_number" type="radio" default="0" label="PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE" description="PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE_DESC"> - <option value="1">PLG_ORDERNUMBER_YES</option> - <option value="0">PLG_ORDERNUMBER_NO</option> + <field name="customize_customer_number" type="radio" default="0" class="btn-group btn-group-yesno" label="PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE" description="PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE_DESC"> + <option value="1">JYES</option> + <option value="0">JNO</option> </field> <field name="customer_number_format" type="text" default="#" label="PLG_ORDERNUMBER_CUSTOMERNR_FMT" description="PLG_ORDERNUMBER_CUSTOMERNR_FMT_DESC"/> <field name="customer_number_padding" type="integer" default="5" label="PLG_ORDERNUMBER_CUSTOMERNR_PADDING" description="PLG_ORDERNUMBER_CUSTOMERNR_PADDING_DESC" first="1" last="10" step="1" /> @@ -78,84 +78,4 @@ </fields> </config> - <!-- Joomla 1.5 config --> - <params addpath="/administrator/components/com_virtuemart/elements"> - <param name="order_options" type="spacer" default="PLG_ORDERNUMBER_ORDERNR" /> - <param name="customize_order_number" type="radio" default="0" label="PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE" description="PLG_ORDERNUMBER_ORDERNR_CUSTOMIZE_DESC"> - <option value="1">PLG_ORDERNUMBER_YES</option> - <option value="0">PLG_ORDERNUMBER_NO</option> - </param> - <param name="order_number_format" type="text" default="Order-[year][month]-#" label="PLG_ORDERNUMBER_ORDERNR_FMT" description="PLG_ORDERNUMBER_ORDERNR_FMT_DESC"/> - <param name="order_number_padding" type="list" default="1" label="PLG_ORDERNUMBER_ORDERNR_PADDING" description="PLG_ORDERNUMBER_ORDERNR_PADDING_DESC" > - <option value="1">1</option> - <option value="2">2</option> - <option value="3">3</option> - <option value="4">4</option> - <option value="5">5</option> - <option value="6">6</option> - <option value="7">7</option> - <option value="8">8</option> - <option value="9">9</option> - <option value="10">10</option> - </param> - <param name="order_number_global" type="radio" default="0" label="PLG_ORDERNUMBER_ORDERNR_COUNTER" description="PLG_ORDERNUMBER_ORDERNR_COUNTER_DESC"> - <option value="1">PLG_ORDERNUMBER_COUNTER_GLOBAL</option> - <option value="0">PLG_ORDERNUMBER_COUNTER_PERFORMAT</option> - </param> - - - <param name="password_options" type="spacer" default="PLG_ORDERNUMBER_PASSWD" /> - <param name="customize_order_password" type="radio" default="0" label="PLG_ORDERNUMBER_PASSWD_CUSTOMIZE" description="PLG_ORDERNUMBER_PASSWD_CUSTOMIZE_DESC"> - <option value="1">Yes</option> - <option value="0">No</option> - </param> - <param name="order_password_format" type="text" default="p_[randomHex5]" label="PLG_ORDERNUMBER_PASSWD_FMT" description="PLG_ORDERNUMBER_PASSWD_FMT_DESC"/> - - <param name="invoice_options" type="spacer" default="PLG_ORDERNUMBER_INVOICENR" /> - <param name="customize_invoice_number" type="radio" default="0" label="PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE" description="PLG_ORDERNUMBER_INVOICENR_CUSTOMIZE_DESC"> - <option value="1">PLG_ORDERNUMBER_YES</option> - <option value="0">PLG_ORDERNUMBER_NO</option> - </param> - <param name="invoice_number_format" type="text" default="[year]-#" label="PLG_ORDERNUMBER_INVOICENR_FMT" description="PLG_ORDERNUMBER_INVOICENR_FMT_DESC"/> - <param name="invoice_number_padding" type="list" default="1" label="PLG_ORDERNUMBER_INVOICENR_PADDING" description="PLG_ORDERNUMBER_INVOICENR_PADDING_DESC" > - <option value="1">1</option> - <option value="2">2</option> - <option value="3">3</option> - <option value="4">4</option> - <option value="5">5</option> - <option value="6">6</option> - <option value="7">7</option> - <option value="8">8</option> - <option value="9">9</option> - <option value="10">10</option> - </param> - <param name="invoice_number_global" type="radio" default="0" label="PLG_ORDERNUMBER_INVOICENR_COUNTER" description="PLG_ORDERNUMBER_INVOICENR_COUNTER_DESC"> - <option value="1">PLG_ORDERNUMBER_COUNTER_GLOBAL</option> - <option value="0">PLG_ORDERNUMBER_COUNTER_PERFORMAT</option> - </param> - - <param name="customer_options" type="spacer" default="PLG_ORDERNUMBER_CUSTOMERNR" /> - <param name="customize_customer_number" type="radio" default="0" label="PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE" description="PLG_ORDERNUMBER_CUSTOMERNR_CUSTOMIZE_DESC"> - <option value="1">PLG_ORDERNUMBER_YES</option> - <option value="0">PLG_ORDERNUMBER_NO</option> - </param> - <param name="customer_number_format" type="text" default="#" label="PLG_ORDERNUMBER_CUSTOMERNR_FMT" description="PLG_ORDERNUMBER_CUSTOMERNR_FMT_DESC"/> - <param name="customer_number_padding" type="list" default="1" label="PLG_ORDERNUMBER_CUSTOMERNR_PADDING" description="PLG_ORDERNUMBER_CUSTOMERNR_PADDING_DESC" > - <option value="1">1</option> - <option value="2">2</option> - <option value="3">3</option> - <option value="4">4</option> - <option value="5">5</option> - <option value="6">6</option> - <option value="7">7</option> - <option value="8">8</option> - <option value="9">9</option> - <option value="10">10</option> - </param> - <param name="customer_number_global" type="radio" default="1" label="PLG_ORDERNUMBER_CUSTOMERNR_COUNTER" description="PLG_ORDERNUMBER_CUSTOMERNR_COUNTER_DESC"> - <option value="1">PLG_ORDERNUMBER_COUNTER_GLOBAL</option> - <option value="0">PLG_ORDERNUMBER_COUNTER_PERFORMAT</option> - </param> - </params> - -</install> +</extension> diff --git a/releases/plg_vmshopper_ordernumber_v1.9.zip b/releases/plg_vmshopper_ordernumber_v1.9.zip new file mode 100644 index 0000000000000000000000000000000000000000..55ec80a078b69f3cd8c665293a5fbd724c4ec8fc GIT binary patch literal 12188 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 literal 0 HcmV?d00001 -- GitLab