From 193122645d1905182c0f44174b16eee5577a7967 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Fri, 24 May 2013 20:19:39 +0200 Subject: [PATCH] Version 1.5.2: Allow order status changed by a download; Fix error handling when field is not availble any more --- Makefile | 2 +- downloads_for_sale.php | 16 ++--- downloads_for_sale.xml | 6 +- elements/vmdlorderstate.php | 56 ++++++++++++++++++ .../en-GB.plg_vmcustom_downloads_for_sale.ini | 1 + ...plg_vmcustom_downloads_for_sale_v1.5.2.zip | Bin 0 -> 26139 bytes 6 files changed, 70 insertions(+), 11 deletions(-) create mode 100644 elements/vmdlorderstate.php create mode 100644 releases/plg_vmcustom_downloads_for_sale_v1.5.2.zip diff --git a/Makefile b/Makefile index c78d305..a6520cd 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ BASE=downloads_for_sale PLUGINTYPE=vmcustom -VERSION=1.5.1 +VERSION=1.5.2 PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html diff --git a/downloads_for_sale.php b/downloads_for_sale.php index 2e58b3b..bf6589a 100644 --- a/downloads_for_sale.php +++ b/downloads_for_sale.php @@ -38,7 +38,7 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { 'product_link_type'=>array('image','char'), 'download_type'=>array('free_download','char'), 'paid_status'=>array(array('S', 'C'), 'array'), - 'downloaded_status'=>array('S', 'char'), + 'downloaded_status'=>array('', 'char'), ); $this->setConfigParameterable('custom_params',$varsToPush); $this->onStoreInstallPluginTable($this->_psType); @@ -89,9 +89,11 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { } } } - $prodid = $field->virtuemart_product_id; - if (empty($prodid)) { + if (isset($field->virtuemart_product_id) && $field->virtuemart_product_id) { + $prodid = $field->virtuemart_product_id; + } else { JFactory::getApplication()->enqueueMessage(JText::sprintf("WARNING: no product ID given in custom field. Please contact the plugin developer and copy this message: <pre>%s</pre>", print_r($field,1)), 'error'); + return array(); } $orderitems = array(); foreach ($orders as $order) { @@ -202,7 +204,7 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { } function updateOrderStatus ($field, $orderitem) { - if (!$orderitem) return; + if (!$orderitem || empty($field->downloaded_status)) return; $orderModel = VmModel::getModel('orders'); # Update the whole order: @@ -223,10 +225,10 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { if ($field_id) { $field = $this->loadCustomfieldData ($field_id); - $this->parseCustomParams($field); - $orderitems = $this->getCustomfieldOrderitems ($field, JFactory::getUser()->get('id'), true); - $orderitem = empty($orderitems)?null:$orderitems[0]; if ($field) { + $this->parseCustomParams($field); + $orderitems = $this->getCustomfieldOrderitems ($field, JFactory::getUser()->get('id'), true); + $orderitem = empty($orderitems)?null:$orderitems[0]; if ($this->checkDownloadable ($field, $orderitem, true)) { $handled = true; if ($this->downloadFile ($field->media_id, $render)) { diff --git a/downloads_for_sale.xml b/downloads_for_sale.xml index fb80e07..452b36e 100644 --- a/downloads_for_sale.xml +++ b/downloads_for_sale.xml @@ -6,7 +6,7 @@ <authorUrl>http://www.open-tools.net/</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.5.1</version> + <version>1.5.2</version> <description>VMCUSTOM_DLSALE_DESC</description> <files> <filename plugin="downloads_for_sale">downloads_for_sale.php</filename> @@ -41,7 +41,7 @@ <option value="registered_download">VMCUSTOM_DLSALE_TYPE_REGISTERED</option> <option value="paid_download">VMCUSTOM_DLSALE_TYPE_PAID</option> </param> - <param name="paid_status" type="vmorderstates" scope="com_virtuemart" default="C" label="VMCUSTOM_DLSALE_STATUS_PAID" description="VMCUSTOM_DLSALE_STATUS_PAID_EXPLAIN" /> - <param name="downloaded_status" type="vmorderstate" scope="com_virtuemart" default="S" label="VMCUSTOM_DLSALE_STATUS_DOWNLOADED" description="VMCUSTOM_DLSALE_STATUS_DOWNLOADED_EXPLAIN" /> + <param name="paid_status" type="vmorderstates" scope="com_virtuemart" default="C, S" multiple="multiple" label="VMCUSTOM_DLSALE_STATUS_PAID" description="VMCUSTOM_DLSALE_STATUS_PAID_EXPLAIN" /> + <param name="downloaded_status" type="vmdlorderstate" scope="com_virtuemart" default="" label="VMCUSTOM_DLSALE_STATUS_DOWNLOADED" description="VMCUSTOM_DLSALE_STATUS_DOWNLOADED_EXPLAIN" /> </params> </install> diff --git a/elements/vmdlorderstate.php b/elements/vmdlorderstate.php new file mode 100644 index 0000000..6fea04a --- /dev/null +++ b/elements/vmdlorderstate.php @@ -0,0 +1,56 @@ +<?php +defined ('_JEXEC') or die(); +/** + * + * @package VirtueMart + * @subpackage Plugins - Elements + * @author Valérie Isaksen + * @link http://www.virtuemart.net + * @copyright Copyright (c) 2004 - 2011 VirtueMart Team. All rights reserved. + * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php + * VirtueMart is free software. This version may have been modified pursuant + * to the GNU General Public License, and as distributed it includes or + * is derivative of works licensed under the GNU General Public License or + * other free or open source software licenses. + * @version $Id:$ + */ +/* + * This class is used by VirtueMart Payment or Shipment Plugins + * which uses JParameter + * So It should be an extension of JElement + * Those plugins cannot be configured througth the Plugin Manager anyway. + */ +class JElementVmDLOrderState extends JElement { + + /** + * Element name + * + * @access protected + * @var string + */ + var $_name = 'DownloadOrderState'; + + function fetchElement ($name, $value, &$node, $control_name) { + + $db = JFactory::getDBO (); + + $query = 'SELECT `order_status_code` AS value, `order_status_name` AS text + FROM `#__virtuemart_orderstates` + WHERE `virtuemart_vendor_id` = 1 + ORDER BY `ordering` ASC '; + + $db->setQuery ($query); + $fields = $db->loadObjectList (); + $class = ''; + foreach ($fields as $field) { + $field->text= JText::_ ($field->text); + } + $unchanged = new stdClass(); + $unchanged->text = JText::_ ('VMCUSTOM_DLSALE_STATUS_UNCHANGED'); + $unchanged->value = ''; + array_unshift($fields, $unchanged); + + return $html .JHTML::_ ('select.genericlist', $fields, $control_name . '[' . $name . ']', $class, 'value', 'text', $value, $control_name . $name); + } + +} \ No newline at end of file diff --git a/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini b/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini index 0e9210a..74e1f5a 100644 --- a/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini +++ b/language/en-GB/en-GB.plg_vmcustom_downloads_for_sale.ini @@ -25,6 +25,7 @@ VMCUSTOM_DLSALE_STATUS_PAID="Status to enable paid download" VMCUSTOM_DLSALE_STATUS_PAID_EXPLAIN="Select the statuses for paid downloads that allow the buyer to download the file." VMCUSTOM_DLSALE_STATUS_DOWNLOADED="Status after download" VMCUSTOM_DLSALE_STATUS_DOWNLOADED_EXPLAIN="After a file was downloaded through this plugin, the order status will be set to this value, indication a download was initiated by the user." +VMCUSTOM_DLSALE_STATUS_UNCHANGED="- (No change)" VMCUSTOM_DLSALE_NO_FILES="No media files found for download or sale." VMCUSTOM_DLSALE_DOWNLOAD_FILE="Download file" diff --git a/releases/plg_vmcustom_downloads_for_sale_v1.5.2.zip b/releases/plg_vmcustom_downloads_for_sale_v1.5.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..f12428d40530853988ac393c0e95dcb574d34bd8 GIT binary patch literal 26139 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 literal 0 HcmV?d00001 -- GitLab