diff --git a/Makefile b/Makefile index 729711b97309dc7f137d60dc1f9f4fea6e401265..5f96a18716368a1ba76c56c4b84174c6ad2c8784 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,13 @@ BASE=downloads_for_sale PLUGINTYPE=vmcustom -VERSION=1.1 +VERSION=1.2 PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html -TRANSLATIONS=$(call wildcard,*.plg_$(PLUGINTYPE)_$(BASE).*ini) -INDEXFILES=$(BASE)/index.html +TRANSLATIONS=$(call wildcard,language/*/*.plg_$(PLUGINTYPE)_$(BASE).*ini) +INDEXFILES=$(BASE)/index.html language/index.html $(call wildcard,language/*/index.html) TMPLFILES=$(call wildcard,$(BASE)/tmpl/*.php) $(BASE)/index.html $(BASE)/tmpl/index.html -ASSETS=$(call wildcard,assets/*.png) $(call wildcard,assets/*.css) assets/index.html +ASSETS=$(call wildcard,$(BASE)/assets/*.png) $(call wildcard,$(BASE)/assets/*.css) $(BASE)/assets/index.html ZIPFILE=plg_$(PLUGINTYPE)_$(BASE)_v$(VERSION).zip diff --git a/downloads_for_sale.php b/downloads_for_sale.php index f25416ea5767dfb39ea533239249df586379ac00..322553cd0bcf38547bc152c3bd5698166a07a773 100644 --- a/downloads_for_sale.php +++ b/downloads_for_sale.php @@ -18,6 +18,14 @@ defined('_JEXEC') or die( 'Direct Access to ' . basename( __FILE__ ) . ' is not if (!class_exists('vmCustomPlugin')) require(JPATH_VM_PLUGINS . DS . 'vmcustomplugin.php'); if(!class_exists('VmTable'))require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'vmtable.php'); +if (JVM_VERSION === 2) { + if (!defined('VMDLSALE_PLUGINPATH')) define('VMDLSALE_PLUGINPATH', JPATH_SITE.DS.'plugins'.DS.'vmcustom'.DS.'downloads_for_sale'); + if (!defined('VMDLSALE_PLUGINWEBROOT')) define('VMDLSALE_PLUGINWEBROOT', 'plugins/vmcustom/downloads_for_sale'); +} else { + if (!defined('VMDLSALE_PLUGINPATH')) define('VMDLSALE_PLUGINPATH', JPATH_SITE.DS.'plugins'.DS.'vmcustom'); + if (!defined('VMDLSALE_PLUGINWEBROOT')) define('VMDLSALE_PLUGINWEBROOT', 'plugins/vmcustom'); +} + class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { var $status_allowed = array ('S', 'C'); @@ -137,6 +145,7 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { function downloadFile($media_id, &$output){ if ($media_id) { + jimport('joomla.filesystem.file'); $media = $this->getDownloadFile($media_id); if (!$media) { JFactory::getApplication()->enqueueMessage(JText::_('VMCUSTOM_DLSALE_ERROR_NO_FILE_SET'), 'error'); @@ -312,16 +321,22 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { return true; } - $link_types = array('none' => 'VMCUSTOM_DLSALE_LINK_NONE', 'compact'=>'VMCUSTOM_DLSALE_LINK_COMPACT', 'long'=>'VMCUSTOM_DLSALE_LINK_LONG'); - + $link_types = array( + array('link-id'=>'none', 'link-name'=>'VMCUSTOM_DLSALE_LINK_NONE'), + array('link-id'=>'compact', 'link-name'=>'VMCUSTOM_DLSALE_LINK_COMPACT'), + array('link-id'=>'long', 'link-name'=>'VMCUSTOM_DLSALE_LINK_LONG'), + ); + $download_types = array ( + array('id'=>'free_download', 'name'=>'VMCUSTOM_DLSALE_TYPE_FREE'), + array('id'=>'registered_download', 'name'=>'VMCUSTOM_DLSALE_TYPE_REGISTERED'), + array('id'=>'paid_download', 'name'=>'VMCUSTOM_DLSALE_TYPE_PAID'), + ); $html .= VmHTML::row('select', 'VMCUSTOM_DLSALE_DOWNLOAD_FILE', 'custom_param['.$row.'][media_id]', $download_files, $field->media_id,'','virtuemart_media_id', 'file_title', false); if ($field->is_cart_attribute) { - $html .= VmHTML::row ('select','VMCUSTOM_DLSALE_INVOICE_LINK', 'custom_param['.$row.'][invoice_link_type]',$link_types,$field->invoice_link_type, '', '', '', false); + $html .= VmHTML::row ('select','VMCUSTOM_DLSALE_INVOICE_LINK', 'custom_param['.$row.'][invoice_link_type]',$link_types,$field->invoice_link_type, '', 'link-id', 'link-name', false); } - $html .= VmHTML::row ('select','VMCUSTOM_DLSALE_PRODUCT_LINK', 'custom_param['.$row.'][product_link_type]',$link_types,$field->product_link_type, '', '', '', false); - $html .= VmHTML::row('select', 'VMCUSTOM_DLSALE_TYPE', 'custom_param['.$row.'][download_type]', - array('free_download'=>'VMCUSTOM_DLSALE_TYPE_FREE', 'registered_download'=>'VMCUSTOM_DLSALE_TYPE_REGISTERED', 'paid_download'=>'VMCUSTOM_DLSALE_TYPE_PAID'), - $field->download_type,'','', '', false); + $html .= VmHTML::row ('select','VMCUSTOM_DLSALE_PRODUCT_LINK', 'custom_param['.$row.'][product_link_type]',$link_types,$field->product_link_type, '', 'link-id', 'link-name', false); + $html .= VmHTML::row('select', 'VMCUSTOM_DLSALE_TYPE', 'custom_param['.$row.'][download_type]', $download_types,$field->download_type,'','id', 'name', false); $html .= '</table></fieldset>'; $retValue .= $html; @@ -489,7 +504,6 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { function plgVmConfirmedOrder($cart, $order) { // TODO: Add record to the database to store # of downloads etc. // TODO -JFactory::getApplication()->enqueueMessage("plgVmConfirmedOrder", 'error'); } diff --git a/downloads_for_sale.xml b/downloads_for_sale.xml index 2e6bc016c5737bc65a8148942f913b51ea731c54..74c8793ddb4a1d9510c8da53052a4b4661fc1038 100644 --- a/downloads_for_sale.xml +++ b/downloads_for_sale.xml @@ -6,20 +6,24 @@ <authorUrl>http://www.kainhofer.com/</authorUrl> <copyright>Copyright (C) 2013 Reinhold Kainhofer. All rights reserved.</copyright> <license>http://www.gnu.org/licenses/gpl.html GNU/GPL v3+</license> - <version>1.1.0</version> + <version>1.2.0</version> <description>VMCUSTOM_DLSALE_DESC</description> <files> <filename plugin="downloads_for_sale">downloads_for_sale.php</filename> <filename>downloads_for_sale.script.php</filename> <folder>downloads_for_sale</folder> - <folder>assets</folder> + <folder>language</folder> <filename>index.html</filename> </files> - <languages> - <language tag="en-GB">en-GB.plg_vmcustom_downloads_for_sale.ini</language> + <languages folder="language"> + <language tag="en-GB">en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini</language> + <language tag="en-GB">en-GB/en-GB.plg_vmcustom_downloads_for_sale.sys.ini</language> + <language tag="de-DE">de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini</language> + <language tag="de-DE">de-DE/de-DE.plg_vmcustom_downloads_for_sale.sys.ini</language> </languages> <scriptfile>downloads_for_sale.script.php</scriptfile> <params addpath="/administrator/components/com_virtuemart/elements"> + <param type="vmjpluginwarning" /> <param name="invoice_link_type" type="list" default="link" label="VMCUSTOM_DLSALE_INVOICE_LINK" description="VMCUSTOM_DLSALE_INVOICE_LINK_DESC" > <option value="none">VMCUSTOM_DLSALE_LINK_NONE</option> <option value="compact">VMCUSTOM_DLSALE_LINK_COMPACT</option> diff --git a/assets/download_medium.png b/downloads_for_sale/assets/download_medium.png similarity index 100% rename from assets/download_medium.png rename to downloads_for_sale/assets/download_medium.png diff --git a/assets/download_small.png b/downloads_for_sale/assets/download_small.png similarity index 100% rename from assets/download_small.png rename to downloads_for_sale/assets/download_small.png diff --git a/assets/downloads_for_sale.css b/downloads_for_sale/assets/downloads_for_sale.css similarity index 100% rename from assets/downloads_for_sale.css rename to downloads_for_sale/assets/downloads_for_sale.css diff --git a/assets/index.html b/downloads_for_sale/assets/index.html similarity index 100% rename from assets/index.html rename to downloads_for_sale/assets/index.html diff --git a/downloads_for_sale/tmpl/downloads.php b/downloads_for_sale/tmpl/downloads.php index b1c2277ce0e6fd4597badd47826887c4dc397226..6f0546f2ba968d6a2b589a840f2fef2c3a3fcdf7 100644 --- a/downloads_for_sale/tmpl/downloads.php +++ b/downloads_for_sale/tmpl/downloads.php @@ -11,9 +11,9 @@ defined('_JEXEC') or die(); -if(JFile::exists(JPATH_SITE.DS.'plugins'.DS.'vmcustom'.DS.'downloads_for_sale'.DS.'assets'.DS.'downloads_for_sale.css')) { +if(JFile::exists(VMDLSALE_PLUGINPATH.DS.'downloads_for_sale'.DS.'assets'.DS.'downloads_for_sale.css')) { $doc =& JFactory::getDocument(); - $doc->addStyleSheet(JURI::root().'plugins/vmcustom/downloads_for_sale/assets/downloads_for_sale.css'); + $doc->addStyleSheet(JURI::root().VMDLSALE_PLUGINWEBROOT.'/downloads_for_sale/assets/downloads_for_sale.css'); } ?> diff --git a/downloads_for_sale/tmpl/order_compact.php b/downloads_for_sale/tmpl/order_compact.php index e6afec63707f041ad5fa1881db0efe804c83242e..bfd19e0a5f1e734336886502cdd1765f9b86a375 100644 --- a/downloads_for_sale/tmpl/order_compact.php +++ b/downloads_for_sale/tmpl/order_compact.php @@ -11,4 +11,4 @@ defined('_JEXEC') or die(); ?> -<a href="<?php echo $viewData[0]; ?>"><img style="vertical-align:middle; display: inline;" src="<?php echo JURI::root().'plugins/vmcustom/downloads_for_sale/assets/download_small.png'; ?>" alt=""/> <?php echo $viewData[2]->file_title; ?></a> \ No newline at end of file +<a href="<?php echo $viewData[0]; ?>"><img style="vertical-align:middle; display: inline;" src="<?php echo JURI::root().VMDLSALE_PLUGINWEBROOT.'/downloads_for_sale/assets/download_small.png'; ?>" alt=""/> <?php echo $viewData[2]->file_title; ?></a> \ No newline at end of file diff --git a/downloads_for_sale/tmpl/order_long.php b/downloads_for_sale/tmpl/order_long.php index e1899946dbd2932f0ff9fffd4e2503c13c619c07..de529c3fdf0f472a17644bdabacfa17a3215c626 100644 --- a/downloads_for_sale/tmpl/order_long.php +++ b/downloads_for_sale/tmpl/order_long.php @@ -10,9 +10,9 @@ **/ defined('_JEXEC') or die(); -if(JFile::exists(JPATH_SITE.DS.'plugins'.DS.'vmcustom'.DS.'downloads_for_sale'.DS.'assets'.DS.'downloads_for_sale.css')) { +if(JFile::exists(VMDLSALE_PLUGINPATH.DS.'downloads_for_sale'.DS.'assets'.DS.'downloads_for_sale.css')) { $doc =& JFactory::getDocument(); - $doc->addStyleSheet(JURI::root().'plugins/vmcustom/downloads_for_sale/assets/downloads_for_sale.css'); + $doc->addStyleSheet(JURI::root().VMDLSALE_PLUGINWEBROOT.'/downloads_for_sale/assets/downloads_for_sale.css'); } ?> <div class="downloads-for-sale"> @@ -20,7 +20,7 @@ if(JFile::exists(JPATH_SITE.DS.'plugins'.DS.'vmcustom'.DS.'downloads_for_sale'.D <table border=0> <tr> <td width="15%"> - <a href="<?php echo $viewData[0]; ?>"><img style="vertical-align:middle; display: inline; float:left;" src="<?php echo JURI::root().'plugins/vmcustom/downloads_for_sale/assets/download_medium.png'; ?>" alt="<?php echo $viewData[2]->file_title; ?>"></a> + <a href="<?php echo $viewData[0]; ?>"><img style="vertical-align:middle; display: inline; float:left;" src="<?php echo JURI::root().VMDLSALE_PLUGINWEBROOT.'/downloads_for_sale/assets/download_medium.png'; ?>" alt="<?php echo $viewData[2]->file_title; ?>"></a> </td> <td width="85%"><a href="<?php echo $viewData[0]; ?>"><span class="file_title"><?php echo $viewData[2]->file_title; ?></span></a><br/> <span class="file_info">(<?php echo basename($viewData[2]->file_url); ?>)<br/> diff --git a/downloads_for_sale/tmpl/product_compact.php b/downloads_for_sale/tmpl/product_compact.php index cdde0f53fd93f0177fbe3963f5d5f5b942c9ba14..b96ef00bac9afc1038dc75e7f538bdbeaf46ac31 100644 --- a/downloads_for_sale/tmpl/product_compact.php +++ b/downloads_for_sale/tmpl/product_compact.php @@ -11,4 +11,4 @@ defined('_JEXEC') or die(); ?> -<p><img style="vertical-align:middle; display: inline;" src="<?php echo JURI::root().'plugins/vmcustom/downloads_for_sale/assets/download_small.png'; ?>" alt=""/> <a href="<?php echo $viewData[0]; ?>"><?php echo $viewData[2]->file_title; ?></a></p> +<p><img style="vertical-align:middle; display: inline;" src="<?php echo JURI::root().VMDLSALE_PLUGINWEBROOT.'/downloads_for_sale/assets/download_small.png'; ?>" alt=""/> <a href="<?php echo $viewData[0]; ?>"><?php echo $viewData[2]->file_title; ?></a></p> diff --git a/downloads_for_sale/tmpl/product_long.php b/downloads_for_sale/tmpl/product_long.php index e7dcf37d77412dc2c3aaf4175069588bb7c82ac1..ec77c91bdbf6454dfd21d179a75d008202cf7a8b 100644 --- a/downloads_for_sale/tmpl/product_long.php +++ b/downloads_for_sale/tmpl/product_long.php @@ -11,9 +11,9 @@ defined('_JEXEC') or die(); -if(JFile::exists(JPATH_SITE.DS.'plugins'.DS.'vmcustom'.DS.'downloads_for_sale'.DS.'assets'.DS.'downloads_for_sale.css')) { +if(JFile::exists(VMDLSALE_PLUGINPATH.DS.'downloads_for_sale'.DS.'assets'.DS.'downloads_for_sale.css')) { $doc =& JFactory::getDocument(); - $doc->addStyleSheet(JURI::root().'plugins/vmcustom/downloads_for_sale/assets/downloads_for_sale.css'); + $doc->addStyleSheet(JURI::root().VMDLSALE_PLUGINWEBROOT.'/downloads_for_sale/assets/downloads_for_sale.css'); } ?> <div class="downloads-for-sale"> @@ -21,7 +21,7 @@ if(JFile::exists(JPATH_SITE.DS.'plugins'.DS.'vmcustom'.DS.'downloads_for_sale'.D <table border=0> <tr> <td> - <a href="<?php echo $viewData[0]; ?>"><img style="vertical-align:middle; display: inline; float:left;" src="<?php echo JURI::root().'plugins/vmcustom/downloads_for_sale/assets/download_medium.png'; ?>" alt="<?php echo $viewData[2]->file_title; ?>"></a> + <a href="<?php echo $viewData[0]; ?>"><img style="vertical-align:middle; display: inline; float:left;" src="<?php echo JURI::root().VMDLSALE_PLUGINWEBROOT.'/downloads_for_sale/assets/download_medium.png'; ?>" alt="<?php echo $viewData[2]->file_title; ?>"></a> </td> <td> <a href="<?php echo $viewData[0]; ?>"><span class="file_title"><?php echo $viewData[2]->file_title; ?></span></a><br/> diff --git a/images/downloads_for_sale_-_media_manager_uploadError.png b/images/downloads_for_sale_-_media_manager_uploadError.png new file mode 100644 index 0000000000000000000000000000000000000000..c56933fea33c6bdf7768446f0a8cb145a39712eb Binary files /dev/null and b/images/downloads_for_sale_-_media_manager_uploadError.png differ diff --git a/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini b/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini new file mode 100644 index 0000000000000000000000000000000000000000..2aa1f75c9550e38662f53458b4bd05c287f9e2ad --- /dev/null +++ b/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini @@ -0,0 +1,46 @@ +; Virtuemart! Project +; Copyright (C) 2011 Virtuemart Team. All rights reserved. +; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + +VMCUSTOM_DLSALE="VM Downloads zu verkaufen" +VMCUSTOM_DLSALE_DESC="VirtueMart Erweiterung, um downloadbare Dateien an Produkte anzuhängen (z.B. Hardwaretreiber oder Benutzerhandbücher) oder kostenlose oder bezahlte Downloads anzubieten." + +VMCUSTOM_DLSALE_INVOICE_LINK="Verknüpfungsstil in Rechnungen" +VMCUSTOM_DLSALE_INVOICE_LINK_DESC="Stil des Download-Links in den Rechnungen, Bestätigungsmails und der Bestellungsansicht." +VMCUSTOM_DLSALE_PRODUCT_LINK="Verknüpfungsstil auf Produktseiten" +VMCUSTOM_DLSALE_PRODUCT_LINK_DESC="Stil des Download-Links auf den Produktseiten, der für authorisierte Benutzter angezeigt wird." + +VMCUSTOM_DLSALE_LINK_NONE="Keinen Downloadlink anzeigen" +VMCUSTOM_DLSALE_LINK_COMPACT="Kompakter Downloadlink" +VMCUSTOM_DLSALE_LINK_LONG="Ausführlicher Downloadlink mit Dateiinformationen" + +VMCUSTOM_DLSALE_TYPE="Typ des Downloads" +VMCUSTOM_DLSALE_TYPE_DESC="Wählen Sie die Standardeinstellung für den Downloadtyp aus" +VMCUSTOM_DLSALE_TYPE_FREE="Kostenloser Download" +VMCUSTOM_DLSALE_TYPE_REGISTERED="Download nur nach Registrierung" +VMCUSTOM_DLSALE_TYPE_PAID="Bezahlter Download" + +VMCUSTOM_DLSALE_NO_FILES="Keine Mediendatein für den Download oder Verkauf gefunden." +VMCUSTOM_DLSALE_DOWNLOAD_FILE="Datei zum Download" +VMCUSTOM_DLSALE_ERROR_NOT_AUTHORIZED="Nicht zum Download authorisiert. Bitte loggen Sie sich als entsprechender Benutzer ein." +VMCUSTOM_DLSALE_ERROR_CUSTOMFIELDID="Benutzerfeld-ID fehlt in der URL." +VMCUSTOM_DLSALE_ERROR_LOAD_FAILURE="Konnte Benutzerfeld-Daten nicht laden." +VMCUSTOM_DLSALE_ERROR_NO_FILE_SET="Mediendatei ist nicht verfügbar." +VMCUSTOM_DLSALE_ERROR_ORDER_NOT_FOUND="Konnte die Bestellungsinformationen nicht in der Datenbank finden." +VMCUSTOM_DLSALE_ERROR_WRONG_PASSWD="Ungültige Bestellungsnummer und/oder Passwort." +VMCUSTOM_DLSALE_ERROR_STATUS_NOT_AUTHORIZED="Bestellungsstatus erlaubt keinen Download." +VMCUSTOM_DLSALE_ERROR_NOT_AUTHORIZED_UNKNOWN="Nicht zum Download authorisiert." + +VMCUSTOM_DLSALE_DLPAGE_TITLE="Downloads zu verkaufen" +VMCUSTOM_DLSALE_DLPAGE_BUTTON_VIEW="Downloads anzeigen" +VMCUSTOM_DLSALE_DLPAGE_NO_DOWNLOADS="Keine Downloads verfügbar" +VMCUSTOM_DLSALE_DLPAGE_ORDER_NO_DOWNLOADS="Keine Downloads verfügbar für Bestellung %s" +VMCUSTOM_DLSALE_DLPAGE_DOWNLOADS="Verfügbare Downloads" +VMCUSTOM_DLSALE_DLPAGE_ORDERPRODUCT="Auftragssnummer %s: %s (%s)" + +VMCUSTOM_DLSALE_FILENAME="Dateiname" +VMCUSTOM_DLSALE_MIMETYPE="MIME-Typ" +VMCUSTOM_DLSALE_FILESIZE="Dateigröße" +VMCUSTOM_DLSALE_FILESIZE_BYTES="Bytes" + diff --git a/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.sys.ini b/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.sys.ini new file mode 100644 index 0000000000000000000000000000000000000000..3ddf7d5d62112167694888d5e34fea26b6a7ad20 --- /dev/null +++ b/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.sys.ini @@ -0,0 +1,7 @@ +; Virtuemart! Project +; Copyright (C) 2011 Virtuemart Team. All rights reserved. +; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + +VMCUSTOM_DLSALE="VM Downloads zu verkaufen" +VMCUSTOM_DLSALE_DESC="VirtueMart Erweiterung, um downloadbare Dateien an Produkte anzuhängen (z.B. Hardwaretreiber oder Benutzerhandbücher) oder kostenlose oder bezahlte Downloads anzubieten." diff --git a/language/de-DE/index.html b/language/de-DE/index.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/en-GB.plg_vmcustom_downloads_for_sale.ini b/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini similarity index 100% rename from en-GB.plg_vmcustom_downloads_for_sale.ini rename to language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini diff --git a/en-GB.plg_vmcustom_downloads_for_sale.sys.ini b/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.sys.ini similarity index 100% rename from en-GB.plg_vmcustom_downloads_for_sale.sys.ini rename to language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.sys.ini diff --git a/language/en-GB/index.html b/language/en-GB/index.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/language/index.html b/language/index.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/releases/plg_vmcustom_downloads_for_sale_v1.1.zip b/releases/plg_vmcustom_downloads_for_sale_v1.1.zip index 0d52bf8024e634522aab62cd8609e961967c5703..f25bfeef5177ddc25335b97ae0459989bfd534b7 100644 Binary files a/releases/plg_vmcustom_downloads_for_sale_v1.1.zip and b/releases/plg_vmcustom_downloads_for_sale_v1.1.zip differ diff --git a/releases/plg_vmcustom_downloads_for_sale_v1.2.zip b/releases/plg_vmcustom_downloads_for_sale_v1.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..6315a7c1aaaffa971cc026e5aeccd2f45961c2d9 Binary files /dev/null and b/releases/plg_vmcustom_downloads_for_sale_v1.2.zip differ