From 127a9de49715efc5b292d6aab05949e4180bdf33 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Sun, 3 Jan 2016 19:30:03 +0100 Subject: [PATCH] V1.8.1: Add check_access URL param to the download links to check for download access; Automatic updates through the Joomla updater --- Makefile | 2 +- downloads_for_sale.php | 224 +++++++++++++++++- downloads_for_sale.xml | 17 +- fields/vmupdatecredentialscheck.php | 161 +++++++++++++ .../de-DE.plg_vmcustom_downloads_for_sale.ini | 15 ++ .../en-GB.plg_vmcustom_downloads_for_sale.ini | 15 ++ ...plg_vmcustom_downloads_for_sale_v1.8.1.zip | Bin 0 -> 46045 bytes 7 files changed, 420 insertions(+), 14 deletions(-) create mode 100644 fields/vmupdatecredentialscheck.php create mode 100644 releases/plg_vmcustom_downloads_for_sale_v1.8.1.zip diff --git a/Makefile b/Makefile index 6bf7f44..6fe9424 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ BASE=downloads_for_sale PLUGINTYPE=vmcustom -VERSION=1.8 +VERSION=1.8.1 PLUGINFILES=$(BASE).php $(BASE).script.php $(BASE).xml index.html diff --git a/downloads_for_sale.php b/downloads_for_sale.php index c5313cd..cf68f01 100644 --- a/downloads_for_sale.php +++ b/downloads_for_sale.php @@ -252,6 +252,7 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { $handled = false; $field_id = vRequest::getInt('customfield_id',0); $customModel = VmModel::getModel('customfields'); + if ($field_id) { if (!defined('VM_VERSION') or VM_VERSION < 3) { @@ -259,10 +260,19 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { } else { $field = $customModel->getCustomEmbeddedProductCustomField($field_id); } + if ($field) { $orderitems = $this->getCustomfieldOrderitems ($field, JFactory::getUser()->get('id'), true); $orderitem = empty($orderitems)?null:$orderitems[0]; - if ($this->checkDownloadable ($field, $orderitem, true)) { + $downloadable = $this->checkDownloadable ($field, $orderitem, true); + if (vRequest::getInt('check_access', 0)==1) { + if ($downloadable) { + header("HTTP/1.1 200 ".JText::_('VMCUSTOM_DLSALE_ACCESS_CHECK_SUCCESS')); + } else { + header("HTTP/1.1 403 ".JText::_('VMCUSTOM_DLSALE_ACCESS_CHECK_ERROR')); + } + JExit(); + } elseif ($downloadable) { $handled = true; if ($this->downloadFile ($field->media_id, $render)) { // Successful download, so set order status to shipped, then exit to prevent the normal joomla page formatting (we sent a potentially binary file already!) @@ -276,6 +286,10 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { JFactory::getApplication()->enqueueMessage(JText::_('VMCUSTOM_DLSALE_ERROR_NOT_AUTHORIZED_UNKNOWN'), 'error'); } } else { + if (vRequest::getInt('check_access', 0)==1) { + header("HTTP/1.1 403 ".JText::_('VMCUSTOM_DLSALE_ACCESS_CHECK_ERROR')); + JExit(); + } JFactory::getApplication()->enqueueMessage(JText::_('VMCUSTOM_DLSALE_ERROR_LOAD_FAILURE'), 'error'); } } @@ -355,17 +369,6 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { } } - /** - * plgVmOnSelfCallBE ... Called to execute some plugin action in the backend (e.g. set/reset dl counter, show statistics etc.) - */ -/* function plgVmOnSelfCallBE($type, $name, &$output) { - if ($name != $this->_name || $type != 'vmcustom') return false; - vmDebug('plgVmOnSelfCallBE'); - - $db = JFactory::getDBO(); - $nullDate = $db->getNullDate(); - }*/ - /** * @see Form displayed in the product edit page in the BE, configure the download file @@ -667,6 +670,203 @@ class plgVmCustomDownloads_for_Sale extends vmCustomPlugin { return $SQLfields; } + /** + * plgVmOnSelfCallBE ... Called to execute some plugin action in the backend (e.g. set/reset dl counter, show statistics etc.) + */ + function plgVmOnSelfCallBE($type, $name, &$output) { + if ($name != $this->_name || $type != $this->_type) return false; + vmDebug('plgVmOnSelfCallBE'); + $user = JFactory::getUser(); + $authorized = ($user->authorise('core.admin','com_virtuemart') or + $user->authorise('core.manage','com_virtuemart')); + $json = array(); + $json['authorized'] = $authorized; + if (!$authorized) return FALSE; + + $action = vRequest::getCmd('action'); + $json['action'] = $action; + $json['success'] = 0; // default: unsuccessfull + switch ($action) { + case "check_update_access": + $order_number = vRequest::getString('order_number'); + $order_pass = vRequest::getString('order_pass'); + $json = $this->checkUpdateAccess($order_number, $order_pass, $json); + break; + } + + // Also return all messages (in HTML format!): + // Since we are in a JSON document, we have to temporarily switch the type + // to HTML to make sure the html renderer is actually used + $document = JFactory::getDocument (); + $previoustype = $document->getType(); + $document->setType('html'); + $msgrenderer = $document->loadRenderer('message'); + $json['messages'] = $msgrenderer->render('Message'); + $document->setType($previoustype); + + // WORKAROUND for broken (i.e. duplicate) content-disposition headers in Joomla 2.x: + // We request everything in raw and here send the headers for JSON and return + // the raw output in json format + $document =JFactory::getDocument(); + $document->setMimeEncoding('application/json'); + JResponse::setHeader('Content-Disposition','attachment;filename="opentools_update_access.json"'); + $output = json_encode($json); + } + + protected function checkUpdateAccess($order_number, $order_pass, $json = array()) { + // First, extract the update server URL from the manifest, then load + // the update XML from the update server, extract the download URL, + // append the order number and password and check whether access is + // possible. + $json['success'] = FALSE; + $xml = simplexml_load_file($this->_xmlFile); + if (!$xml || !isset($xml->updateservers)) { + JFactory::getApplication()->enqueueMessage(JText::sprintf('OPENTOOLS_XMLMANIFEST_ERROR', $this->_xmlFile), 'error'); + return $json; + } + $updateservers = $xml->updateservers; + foreach ($updateservers->children() as $server) { + if ($server->getName()!='server') { + JFactory::getApplication()->enqueueMessage(JText::sprintf('OPENTOOLS_XMLMANIFEST_ERROR', $this->_xmlFile), 'error'); + continue; + } + $updateurl = html_entity_decode((string)$server); + $updatescript = simplexml_load_file($updateurl); + if (!$updatescript) { + JFactory::getApplication()->enqueueMessage(JText::sprintf('OPENTOOLS_UPDATESCRIPT_ERROR', $updateurl), 'error'); + continue; + } + $urls = $updatescript->xpath('/updates/update/downloads/downloadurl'); + while (list( , $node) = each($urls)) { + $downloadurl = (string)($node); + if ($order_number) { + $downloadurl .= (parse_url($downloadurl, PHP_URL_QUERY) ? '&' : '?') . 'order_number=' . urlencode($order_number); + } + if ($order_pass) { + $downloadurl .= (parse_url($downloadurl, PHP_URL_QUERY) ? '&' : '?') . 'order_pass=' . urlencode($order_pass); + } + $downloadurl .= (parse_url($downloadurl, PHP_URL_QUERY) ? '&' : '?') . 'check_access=1'; + + $headers = get_headers($downloadurl); + list($version, $status_code, $msg) = explode(' ',$headers[0], 3); + + // Check the HTTP Status code + switch($status_code) { + case 200: + $json['success'] = TRUE; + JFactory::getApplication()->enqueueMessage($msg, 'message'); + $this->setupUpdateCredentials($order_number, $order_pass); + break; + default: + JFactory::getApplication()->enqueueMessage($msg, 'error'); + // Clear the credentials... + $this->setupUpdateCredentials("", ""); + break; + } + $this->setAndSaveParams(array( + 'update_credentials_checked'=>$json['success'], + 'order_number' => $order_number, + 'order_pass' => $order_pass, + )); + } + } + return $json; + } + + protected function setAndSaveParams($params) { + $db = JFactory::getDbo(); + $query = $db->getQuery(true) + ->select('extension_id') + ->from('#__extensions') + ->where('folder = '.$db->quote($this->_type)) + ->where('element = '.$db->quote($this->_name)) + ->where('type =' . $db->quote('plugin')) + ->order('ordering'); + + $plugin = $db->setQuery($query)->loadObject(); + if (!$plugin) + return; + $pluginId=$plugin->extension_id; + + foreach ($params as $param=>$parvalue) { + $this->params->set($param, $parvalue); + } + + $extensions = JTable::getInstance('extension'); + $extensions->load($pluginId); + $extensions->bind(array('params' => $this->params->toString())); + + // check and store + if (!$extensions->check()) { + $this->setError($extensions->getError()); + return false; + } + if (!$extensions->store()) { + $this->setError($extensions->getError()); + return false; + } + } + + + protected function setupUpdateCredentials($ordernumber, $orderpass) { + $db = JFactory::getDbo(); + $query = $db->getQuery(true) + ->select('extension_id AS id') + ->from('#__extensions') + ->where('folder = '.$db->quote($this->_type)) + ->where('element = '.$db->quote($this->_name)) + ->where('type =' . $db->quote('plugin')) + ->order('ordering'); + + $plugin = $db->setQuery($query)->loadObject(); + if (empty($plugin)) + return; + + $ordernumber = preg_replace("/[^-A-Za-z0-9_]/", '', $ordernumber); + $orderpass = preg_replace("/[^-A-Za-z0-9_]/", '', $orderpass); + + $extra_query = array(); + if ($ordernumber!='') { + $extra_query[] = 'order_number='.preg_replace("/[^-A-Za-z0-9_]/", '', $ordernumber); + } + if ($orderpass!='') { + $extra_query[] = 'order_pass='.preg_replace("/[^-A-Za-z0-9_]/", '', $orderpass); + } + $extra_query = implode('&', $extra_query); + + // The following code is based on Nicholas K. Dionysopoulos' Joomla Pull request: + // https://github.com/joomla/joomla-cms/pull/2508 + + // Load the update site record, if it exists + $db = JFactory::getDbo(); + $query = $db->getQuery(true) + ->select('update_site_id AS id') + ->from($db->qn('#__update_sites_extensions')) + ->where($db->qn('extension_id').' = '.$db->q($plugin->id)); + $db->setQuery($query); + $updateSites = $db->loadObjectList(); + + foreach ($updateSites as $updateSite) { + // Update the update site record + $query = $db->getQuery(true) + ->update($db->qn('#__update_sites')) + ->set('extra_query = '.$db->q($extra_query)) + ->set('last_check_timestamp = 0') + ->where($db->qn('update_site_id').' = '.$db->q($updateSite->id)); + $db->setQuery($query); + $db->execute(); + + // Delete any existing updates (essentially flushes the updates cache for this update site) + $query = $db->getQuery(true) + ->delete($db->qn('#__updates')) + ->where($db->qn('update_site_id').' = '.$db->q($updateSite->id)); + $db->setQuery($query); + $db->execute(); + } + + } + + } // No closing tag \ No newline at end of file diff --git a/downloads_for_sale.xml b/downloads_for_sale.xml index 35418b1..467f0cb 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.8</version> + <version>1.8.1</version> <description>VMCUSTOM_DLSALE_DESC</description> <files> <filename plugin="downloads_for_sale">downloads_for_sale.php</filename> @@ -72,4 +72,19 @@ <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> + + <config> + <fields name="params"> + <fieldset name="update_credentials" label="OPENTOOLS_FIELDSET_CREDENTIALS" addfieldpath="/plugins/vmcustom/downloads_for_sale/fields"> + <field name="credentials_desc" type="spacer" label="OPENTOOLS_CREDENTIALS_DESC" /> + <field name="order_number" type="text" default="" label="OPENTOOLS_ORDERNUMBER" description="OPENTOOLS_ORDERNUMBER_DESC"/> + <field name="order_pass" type="text" default="" label="OPENTOOLS_ORDERPASS" description="OPENTOOLS_ORDERPASS_DESC"/> + <field name="update_credentials_checked" type="vmUpdateCredentialsCheck" label="" ajaxurl="index.php?option=com_virtuemart&view=plugin&type=vmcustom&name=downloads_for_sale&format=raw" /> + </fieldset> + </fields> + </config> + <updateservers> + <server type="extension" name="VM Downloads for Sale Updates"><![CDATA[http://open-tools.net/UpdateServer/index.php?package=Joomla&extension=DownloadsForSale&file=extension.xml]]></server> + </updateservers> + </extension> diff --git a/fields/vmupdatecredentialscheck.php b/fields/vmupdatecredentialscheck.php new file mode 100644 index 0000000..d08397b --- /dev/null +++ b/fields/vmupdatecredentialscheck.php @@ -0,0 +1,161 @@ +<?php +defined('_JEXEC') or die(); +/** + * + * @package VirtueMart + * @subpackage Plugins - Fields + * @author Reinhold Kainhofer, Open Tools + * @link http://www.open-tools.net + * @copyright Copyright (c) 2016 Reinhold Kainhofer. All rights reserved. + * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.txt + * 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. + */ + +defined('DS') or define('DS', DIRECTORY_SEPARATOR); +if (!class_exists( 'VmConfig' )) + require(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php'); +VmConfig::loadConfig(); + +class JFormFieldVmUpdateCredentialsCheck extends JFormField { + var $_name = 'vmUpdateCredentialsCheck'; + + // VM2 on J2 works, VM3 on J3 works out of the box, but + // VM3 on J2 does NOT work by simply calling vmJsApi::jQuery, because + // the JS is never added to the page header, so we have to add this manually + public function loadjQuery() { + vmJsApi::jQuery(); + // TODO: jquery::ui available only in J3: + if (version_compare(JVERSION, '3.0', 'lt')) { + } else { + JHtml::_('jquery.ui', array('core', 'sortable')); + } + // If we are on Joomla 2.5 and VM 3, manually add the script declarations + // cached in vmJsApi to the document header: + if (version_compare(JVERSION, '3.0', 'lt') && defined('VM_VERSION') && VM_VERSION>=3) { + $document = JFactory::getDocument(); + $scripts = vmJsApi::getJScripts(); + foreach ($scripts as $name => $jsToAdd) { + if($jsToAdd['written']) continue; + $file = $jsToAdd['script'] ? $jsToAdd['script'] : $name; + + if(strpos($file,'/')!==0){ + $file = vmJsApi::setPath($file,false,''); + } else if(strpos($file,'//')!==0){ + $file = JURI::root(true).$file; + } + + $ver = ''; + if(!empty($jsToAdd['ver'])) $ver = '?vmver='.$jsToAdd['ver']; + $document->addScript( $file .$ver,"text/javascript",$jsToAdd['defer'],$jsToAdd['async'] ); + vmJsApi::removeJScript($name); + } + } + } + + protected function getJavaScript() { + return " +var credentials_ajaxurl = \"".$this->element["ajaxurl"]."\"; +var credentials_updateMessages = function(messages, area) { + jQuery( \"#system-message-container #system-message .\"+area+\"-message\").remove(); + var newmessages = jQuery( messages ).find(\"div.alert, .message\").addClass(area+\"-message\"); + if (!jQuery( \"#system-message-container #system-message\").length && newmessages.length) { + if (jQuery(newmessages).first().prop(\"tagName\")==\"dt\") { // Joomla 2.x: + jQuery( \"#system-message-container\" ).append( \"<dl id=\'system-message\'></div>\" ); + } else { + jQuery( \"#system-message-container\" ).append( \"<div id=\'system-message\'></div>\" ); + } + } + newmessages.appendTo( \"#system-message-container #system-message\"); +}; + +var checkUpdateCredentialsError = function() { + alert (\"".JText::_('OPENTOOLS_CHECK_CREDENTIALS_ERROR')."\"); +} + +var checkUpdateCredentials = function () { + var ordernumber = jQuery('#jform_params_order_number').val(); + var orderpass = jQuery('#jform_params_order_pass').val(); + + var ajaxargs = { + type: \"POST\", + dataType: \"text\", + url: credentials_ajaxurl, + data: { + action: \"check_update_access\", + order_number: ordernumber, + order_pass: orderpass + }, + + success: function ( json ) { + try { + json = jQuery.parseJSON(json); + credentials_updateMessages(json['messages'], 'ordernumber'); + } catch (e) { + checkUpdateCredentialsError(); + return; + } + var success=0; + if (json.success>0) { + success=1; + } + jQuery('#update_credentials_hidden_checked').val(success); + jQuery('.credentials_checked') + .removeClass('credentials_checked_0') + .removeClass('credentials_checked_1') + .addClass('credentials_checked_'+success); + }, + error: function() { checkUpdateCredentialsError(); }, + complete: function() { }, + }; + jQuery.ajax(ajaxargs); +}; +jQuery(document).ready (function () { + jQuery('#jform_params_order_number').focusout(checkUpdateCredentials); + jQuery('#jform_params_order_pass').focusout(checkUpdateCredentials); +}); + +"; + } + + protected function getCSS() { + return " +div.credentials_checked { + padding: 10px 5px; + float: left; + clear: left; + display: block; + width: 100%; +} +div.credentials_checked_0 { + background-color: #FFD0D0; +} +div.credentials_checked_1 { + background-color: #D0FFD0; +} +a#credentials_check { +} + +"; + } + protected function getInput() { + // Tell the user that automatic updates are not available in Joomla 2.5: + if (version_compare(JVERSION, '3.0', 'lt')) { + JFactory::getApplication()->enqueueMessage(JText::_('OPENTOOLS_COMMERCIAL_UPDATES_J25'), 'warning'); + } + + $this->loadjQuery(); + + $doc = JFactory::getDocument(); + $doc->addScriptDeclaration($this->getJavaScript()); + $doc->addStyleDeclaration($this->getCSS()); + + if ($this->value!=1) { + $this->value=0; + } +// if ($this->value==1) { + return "<input type='hidden' id=\"update_credentials_hidden_checked\" name='".$this->name."' value='".$this->value."' /><div class='credentials_checked credentials_checked_".$this->value."'><a href=\"#\" class=\"btn btn-info credentials_check\" id=\"credentials_check\" onclick=\"checkUpdateCredentials()\" >".JText::_('OPENTOOLS_CHECK_CREDENTIALS')."</a></div>"; + } +} 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 index 8f4416b..993819b 100644 --- a/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini +++ b/language/de-DE/de-DE.plg_vmcustom_downloads_for_sale.ini @@ -52,3 +52,18 @@ VMCUSTOM_DLSALE_MIMETYPE="MIME-Typ" VMCUSTOM_DLSALE_FILESIZE="Dateigröße" VMCUSTOM_DLSALE_FILESIZE_BYTES="Bytes" + +VMCUSTOM_DLSALE_ACCESS_CHECK_SUCCESS="Download-Zugang möglich." +VMCUSTOM_DLSALE_ACCESS_CHECK_ERROR="Download nicht möglich. Bitte überprüfen Sie Ihre Zugangsdaten." + +OPENTOOLS_FIELDSET_CREDENTIALS="Automatische Aktualisierung" +OPENTOOLS_CREDENTIALS_DESC="Bitte geben Sie hier die Bestellungsnummer und -passwort ein, die Sie in der Bestellbestätigung (per Mail) von <a href="https://www.open-tools.net/">open-tools.net</a> erhalten haben. Wird keine gültige Kombination eingegeben, ist die Funktionalität der Erweiterung in keiner Weise eingeschränkt, jedoch stehen keine automatischen Aktualisierungen zur Verfügung." +OPENTOOLS_ORDERNUMBER="Bestellungsnummer:" +OPENTOOLS_ORDERNUMBER_DESC="Bitte geben Sie hier die Bestellungsnummer Ihres Kaufs der Erweiterung auf open-tools.net an. Wenn keine gültige Kombination aus Bestellungsnummer und -passwort angegeben wird, funktioniert die Erweiterung dennoch, jedoch sind keine automatischen Aktualisierungen möglich." +OPENTOOLS_ORDERPASS="Bestellungspassword:" +OPENTOOLS_ORDERPASS_DESC="Bitte geben Sie hier das Bestellungspasswort Ihres Kaufs der Erweiterung auf open-tools.net an. Wenn keine gültige Kombination aus Bestellungsnummer und -passwort angegeben wird, funktioniert die Erweiterung dennoch, jedoch sind keine automatischen Aktualisierungen möglich." +OPENTOOLS_CHECK_CREDENTIALS="Zugangsdaten überprüfen und speichern" +OPENTOOLS_CHECK_CREDENTIALS_ERROR="Konnte Zugangsdaten nicht überprüfen. Bitte stellen Sie sicher, dass die Erweiterung in Joomla freigegeben ist!" +OPENTOOLS_XMLMANIFEST_ERROR="Konnte die XML-Manifest-Datei der Erweiterung nicht laden (%s)" +OPENTOOLS_UPDATESCRIPT_ERROR="Konnte die Aktualisierungsinformationen nicht laden (%s)" +OPENTOOLS_COMMERCIAL_UPDATES_J25="Automatische Aktualisierungen von kommerziellen Erweiterungen sind in Joomla 2.5 leider nicht möglich (erste ab Joomla 3.x). Bitte informieren Sie sich auf der Homepage des Entwicklers über mögliche Aktualisierungen und installieren Sie diese manuell." 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 960ae15..1faf68e 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 @@ -53,3 +53,18 @@ VMCUSTOM_DLSALE_MIMETYPE="MIME-Type" VMCUSTOM_DLSALE_FILESIZE="File size" VMCUSTOM_DLSALE_FILESIZE_BYTES="Bytes" + +VMCUSTOM_DLSALE_ACCESS_CHECK_SUCCESS="Access granted." +VMCUSTOM_DLSALE_ACCESS_CHECK_ERROR="Download not possible. Please check your access credentials." + +OPENTOOLS_FIELDSET_CREDENTIALS="Update credentials" +OPENTOOLS_CREDENTIALS_DESC="Please enter your order number and the order password, which can be found in the order confirmation mail you received after your purchase at <a href="https://www.open-tools.net/">open-tools.net</a>. If you do not enter a valid combination, the plugin will continue to work, but automatic updates will only be provided with a valid order number and password." +OPENTOOLS_ORDERNUMBER="Order number:" +OPENTOOLS_ORDERNUMBER_DESC="Please enter the order number of your purchase at open-tools.net to get access to automatic updates. If no valid order number and password is entered, the plugin will still work, but automatic updates will not be available." +OPENTOOLS_ORDERPASS="Order password:" +OPENTOOLS_ORDERPASS_DESC="Please enter the order password of your purchase at open-tools.net to get access to automatic updates. If no valid order number and password is entered, the plugin will still work, but automatic updates will not be available." +OPENTOOLS_CHECK_CREDENTIALS="Check and save update credentials" +OPENTOOLS_CHECK_CREDENTIALS_ERROR="Unable to check the download credentials. Please make sure that the plugin is enabled in your Joomla installation!" +OPENTOOLS_XMLMANIFEST_ERROR="Unable to load the plugin manifest file (%s)" +OPENTOOLS_UPDATESCRIPT_ERROR="Unable to load the update information from the update server (%s)" +OPENTOOLS_COMMERCIAL_UPDATES_J25="Automatic updates of commercial Joomla extensions are not available in Joomla 2.5 (only in Joomla 3.x). Please check the software developer's homepage and manually install updates." diff --git a/releases/plg_vmcustom_downloads_for_sale_v1.8.1.zip b/releases/plg_vmcustom_downloads_for_sale_v1.8.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..5a2d2d3dd04a31217b339e9754560ac168ed055b GIT binary patch literal 46045 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 bjYDGOVOG$oy$rGpvJ3~g85r1BfI<iWb5p87 literal 0 HcmV?d00001 -- GitLab