diff --git a/README.md b/README.md
index 4f4af5ca4..f407ecda3 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
-You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.2) with **ALL** its features and **ALL** concepts totally open-source and free!
+You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.3) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@@ -125,13 +125,13 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
-+ *Last Build*: 7th July, 2018
-+ *Version*: 2.8.2
++ *Last Build*: 8th July, 2018
++ *Version*: 2.8.3
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **186287**
-+ *Field count*: **1058**
-+ *File count*: **1238**
++ *Line count*: **186333**
++ *Field count*: **1059**
++ *File count*: **1239**
+ *Folder count*: **197**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).
diff --git a/admin/README.txt b/admin/README.txt
index 4f4af5ca4..f407ecda3 100644
--- a/admin/README.txt
+++ b/admin/README.txt
@@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
-You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.2) with **ALL** its features and **ALL** concepts totally open-source and free!
+You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.3) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@@ -125,13 +125,13 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
-+ *Last Build*: 7th July, 2018
-+ *Version*: 2.8.2
++ *Last Build*: 8th July, 2018
++ *Version*: 2.8.3
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **186287**
-+ *Field count*: **1058**
-+ *File count*: **1238**
++ *Line count*: **186333**
++ *Field count*: **1059**
++ *File count*: **1239**
+ *Folder count*: **197**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).
diff --git a/admin/config.xml b/admin/config.xml
index c9f56729e..f062d1ed7 100644
--- a/admin/config.xml
+++ b/admin/config.xml
@@ -1031,6 +1031,7 @@
required="false"
filter="url"
validated="url"
+ scheme="http,https"
message="COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_MESSAGE"
hint="COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_HINT"
/>
diff --git a/admin/helpers/compiler/a_Get.php b/admin/helpers/compiler/a_Get.php
index 02a7f97bc..04f292b16 100644
--- a/admin/helpers/compiler/a_Get.php
+++ b/admin/helpers/compiler/a_Get.php
@@ -949,6 +949,28 @@ class Get
// set the uikit switch
$this->uikit = $component->adduikit;
+ // set whmcs links if needed
+ if (1 == $component->add_license && (!isset($component->whmcs_buy_link) || !ComponentbuilderHelper::checkString($component->whmcs_buy_link)))
+ {
+ // update with the whmcs url
+ if (isset($component->whmcs_url) && ComponentbuilderHelper::checkString($component->whmcs_url))
+ {
+ $component->whmcs_buy_link = $component->whmcs_url;
+ }
+ // use the company website
+ elseif (isset($component->website) && ComponentbuilderHelper::checkString($component->website))
+ {
+ $component->whmcs_buy_link = $component->website;
+ $component->whmcs_url = rtrim($component->website, '/').'/whmcs';
+ }
+ // none set
+ else
+ {
+ $component->whmcs_buy_link = '#';
+ $component->whmcs_url = '#';
+ }
+ }
+
// set the footable switch
if ($component->addfootable)
{
diff --git a/admin/helpers/compiler/e_Interpretation.php b/admin/helpers/compiler/e_Interpretation.php
index c1ac790cb..157da93e0 100644
--- a/admin/helpers/compiler/e_Interpretation.php
+++ b/admin/helpers/compiler/e_Interpretation.php
@@ -234,12 +234,12 @@ class Interpretation extends Fields
{
if (!isset($this->fileContentStatic[$this->hhh . 'HELPER_SITE_LICENSE_LOCK' . $this->hhh]))
{
- $_VDM = '_' . ComponentbuilderHelper::safeString($this->uniquekey(10), 'U');
+ $_WHMCS = '_' . ComponentbuilderHelper::safeString($this->uniquekey(10), 'U');
// add it to the system
- $this->fileContentStatic[$this->hhh . 'HELPER_SITE_LICENSE_LOCK' . $this->hhh] = $this->setHelperLicenseLock($_VDM, 'site');
- $this->fileContentStatic[$this->hhh . 'HELPER_LICENSE_LOCK' . $this->hhh] = $this->setHelperLicenseLock($_VDM, 'admin');
- $this->fileContentStatic[$this->hhh . 'LICENSE_LOCKED_INT' . $this->hhh] = $this->setInitLicenseLock($_VDM);
- $this->fileContentStatic[$this->hhh . 'LICENSE_LOCKED_DEFINED' . $this->hhh] = PHP_EOL . PHP_EOL . 'defined(\'' . $_VDM . '\') or die(JText:' . ':_(\'NIE_REG_NIE\'));';
+ $this->fileContentStatic[$this->hhh . 'HELPER_SITE_LICENSE_LOCK' . $this->hhh] = $this->setHelperLicenseLock($_WHMCS, 'site');
+ $this->fileContentStatic[$this->hhh . 'HELPER_LICENSE_LOCK' . $this->hhh] = $this->setHelperLicenseLock($_WHMCS, 'admin');
+ $this->fileContentStatic[$this->hhh . 'LICENSE_LOCKED_INT' . $this->hhh] = $this->setInitLicenseLock($_WHMCS);
+ $this->fileContentStatic[$this->hhh . 'LICENSE_LOCKED_DEFINED' . $this->hhh] = PHP_EOL . PHP_EOL . 'defined(\'' . $_WHMCS . '\') or die(JText:' . ':_(\'NIE_REG_NIE\'));';
}
}
else
@@ -332,8 +332,8 @@ class Interpretation extends Fields
$bool[] = $this->_t(2) . "if (\$license_key)";
$bool[] = $this->_t(2) . "{";
$bool[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " load the file";
- $bool[] = $this->_t(3) . "JLoader::import( 'vdm', JPATH_ADMINISTRATOR .'/components/com_" . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . "');";
- $bool[] = $this->_t(3) . "\$the = new VDM(\$license_key);";
+ $bool[] = $this->_t(3) . "JLoader::import( 'whmcs', JPATH_ADMINISTRATOR .'/components/com_" . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . "');";
+ $bool[] = $this->_t(3) . "\$the = new WHMCS(\$license_key);";
$bool[] = $this->_t(3) . "\$this->" . $globalbool . " = \$the->_is;";
$bool[] = $this->_t(3) . "return \$this->" . $globalbool . ";";
$bool[] = $this->_t(2) . "}";
@@ -346,12 +346,12 @@ class Interpretation extends Fields
/**
* set Helper License Lock
*
- * @param type $_VDM
+ * @param type $_WHMCS
* @param type $target
*
* @return string
*/
- public function setHelperLicenseLock($_VDM, $target)
+ public function setHelperLicenseLock($_WHMCS, $target)
{
$helper[] = PHP_EOL . PHP_EOL . $this->_t(1) . "/**";
$helper[] = $this->_t(1) . " * Check if this install has a license.";
@@ -364,8 +364,8 @@ class Interpretation extends Fields
$helper[] = $this->_t(2) . "if (\$license_key)";
$helper[] = $this->_t(2) . "{";
$helper[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " load the file";
- $helper[] = $this->_t(3) . "JLoader::import( 'vdm', JPATH_ADMINISTRATOR .'/components/com_" . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . "');";
- $helper[] = $this->_t(3) . "\$the = new VDM(\$license_key);";
+ $helper[] = $this->_t(3) . "JLoader::import( 'whmcs', JPATH_ADMINISTRATOR .'/components/com_" . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . "');";
+ $helper[] = $this->_t(3) . "\$the = new WHMCS(\$license_key);";
$helper[] = $this->_t(3) . "return \$the->_is;";
$helper[] = $this->_t(2) . "}";
$helper[] = $this->_t(2) . "return false;";
@@ -377,18 +377,18 @@ class Interpretation extends Fields
/**
* set Init License Lock
*
- * @param type $_VDM
+ * @param type $_WHMCS
*
* @return string
*/
- public function setInitLicenseLock($_VDM)
+ public function setInitLicenseLock($_WHMCS)
{
- $init[] = PHP_EOL . "if (!defined('" . $_VDM . "'))";
+ $init[] = PHP_EOL . "if (!defined('" . $_WHMCS . "'))";
$init[] = "{";
$init[] = $this->_t(1) . "\$allow = " . $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh] . "Helper::isGenuine();";
$init[] = $this->_t(1) . "if (\$allow)";
$init[] = $this->_t(1) . "{";
- $init[] = $this->_t(2) . "define('" . $_VDM . "', 1);";
+ $init[] = $this->_t(2) . "define('" . $_WHMCS . "', 1);";
$init[] = $this->_t(1) . "}";
$init[] = "}";
// return the initializing statement
@@ -6149,7 +6149,7 @@ class Interpretation extends Fields
$this->langContent['admin'][$this->langPrefix . '_NOT_FOUND_OR_ACCESS_DENIED'] = "Not found or access denied!";
if ($this->componentData->add_license && $this->componentData->license_type == 3)
{
- $this->langContent['admin']['NIE_REG_NIE'] = "
Notify your administrator!
The license can be obtained from " . $this->componentData->companyname . ".
Notify your administrator!
The license can be obtained from " . $this->componentData->companyname . ".
When using the WHMCS encryption you need to get a WHMCS key from:
https://www.vdm.io, or your own WHMCS install.
Please note that you will need to enable the add-on in the Joomla Component area (Add WHMCS)->Yes.
You can get more info about the WHMCS licensing add-on at the following links.
Helpful Links:
-https://www.whmcs.com/addons/licensing-addon/
-http://docs.whmcs.com/Licensing_Addon/
When using the WHMCS encryption you need to get a WHMCS key from:
https://www.vdm.io, or your own WHMCS install.
Please note that you will need to enable the add-on in the Joomla Component area (Add WHMCS)->Yes.
You can get more info about the WHMCS licensing add-on at the following links.
Helpful Links:
+https://www.whmcs.com/software-licensing/
+http://docs.whmcs.com/Licensing_Addon/
Support JCB and use our affiliate link (https://www.whmcs.com/members/aff.php?aff=37513) to sign-up with WHMCS.
" COM_COMPONENTBUILDER_FIELD_NOTE_WHMCS_ENCRYPTION_LABEL="The WHMCS Encryption" COM_COMPONENTBUILDER_FIELD_NOT_NULL="NOT NULL" COM_COMPONENTBUILDER_FIELD_NOT_REQUIRED="Not Required" @@ -4678,7 +4678,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_ZIP_LABEL="The ZIP COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_ONE_DESCRIPTION="Use the modified date, and version number of the view/fields instead of the global version in related files." COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_THREE_DESCRIPTION="Use only the first numbers from your global version. This is useful if you are using git. Since all document will not then be updated, with version change, with each compilation when major or minor updates are made." COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_TWO_DESCRIPTION="Use only the first two numbers from your global version. This is useful if you are using git. Since all document will not then be updated, with version change, with each compilation when only a minor update is made." -COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_DESCRIPTION="You can use WHMCS licensing addon in your componentThe Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
diff --git a/componentbuilder_update_server.xml b/componentbuilder_update_server.xml
index adb99ee2e..11745abe7 100644
--- a/componentbuilder_update_server.xml
+++ b/componentbuilder_update_server.xml
@@ -424,4 +424,21 @@