diff --git a/README.md b/README.md
index 38a59c502..295e5b570 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.5) 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.9.0) 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,14 +125,14 @@ 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*: 30th July, 2018
-+ *Version*: 2.8.5
++ *Last Build*: 25th August, 2018
++ *Version*: 2.9.0
+ *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*: **186360**
-+ *Field count*: **1059**
-+ *File count*: **1239**
-+ *Folder count*: **197**
++ *Line count*: **192673**
++ *Field count*: **1081**
++ *File count*: **1273**
++ *Folder count*: **201**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
diff --git a/admin/README.txt b/admin/README.txt
index 38a59c502..295e5b570 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.5) 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.9.0) 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,14 +125,14 @@ 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*: 30th July, 2018
-+ *Version*: 2.8.5
++ *Last Build*: 25th August, 2018
++ *Version*: 2.9.0
+ *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*: **186360**
-+ *Field count*: **1059**
-+ *File count*: **1239**
-+ *Folder count*: **197**
++ *Line count*: **192673**
++ *Field count*: **1081**
++ *File count*: **1273**
++ *Folder count*: **201**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
diff --git a/admin/access.xml b/admin/access.xml
index 244ad0ae8..bf8e8090a 100644
--- a/admin/access.xml
+++ b/admin/access.xml
@@ -30,6 +30,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -582,6 +592,17 @@
+
diff --git a/admin/assets/css/admin_custom_tabs.css b/admin/assets/css/admin_custom_tabs.css
new file mode 100644
index 000000000..98f677768
--- /dev/null
+++ b/admin/assets/css/admin_custom_tabs.css
@@ -0,0 +1,14 @@
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+/* CSS Document */
+
+
+.tab_html { width: 1027px; height: 338px; }
diff --git a/admin/assets/css/admins_custom_tabs.css b/admin/assets/css/admins_custom_tabs.css
new file mode 100644
index 000000000..e7aab2271
--- /dev/null
+++ b/admin/assets/css/admins_custom_tabs.css
@@ -0,0 +1,13 @@
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+/* CSS Document */
+
+
diff --git a/admin/compiler/joomla_3/DASHJControllerAdmin.php b/admin/compiler/joomla_3/DASHJControllerAdmin.php
index c168d2d51..1721040fc 100644
--- a/admin/compiler/joomla_3/DASHJControllerAdmin.php
+++ b/admin/compiler/joomla_3/DASHJControllerAdmin.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
@@ -29,9 +17,6 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
-// import Joomla controlleradmin library
-jimport('joomla.application.component.controlleradmin');
-
/**
* ###Component### Controller
*/
diff --git a/admin/compiler/joomla_3/DASHJModelList.php b/admin/compiler/joomla_3/DASHJModelList.php
index 65f0b06c4..88344de16 100644
--- a/admin/compiler/joomla_3/DASHJModelList.php
+++ b/admin/compiler/joomla_3/DASHJModelList.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
@@ -29,10 +17,6 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
-// import the Joomla modellist library
-jimport('joomla.application.component.modellist');
-jimport('joomla.application.component.helper');
-
/**
* ###Component### Model
*/
diff --git a/admin/compiler/joomla_3/DASHJViewLagacy.php b/admin/compiler/joomla_3/DASHJViewLagacy.php
index 5a31fd861..775580445 100644
--- a/admin/compiler/joomla_3/DASHJViewLagacy.php
+++ b/admin/compiler/joomla_3/DASHJViewLagacy.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
@@ -29,9 +17,6 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
-// import Joomla view library
-jimport('joomla.application.component.view');
-
/**
* ###Component### View class
*/
diff --git a/admin/compiler/joomla_3/DASHdefault.php b/admin/compiler/joomla_3/DASHdefault.php
index ffe7591fc..2b75e90fd 100644
--- a/admin/compiler/joomla_3/DASHdefault.php
+++ b/admin/compiler/joomla_3/DASHdefault.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
diff --git a/admin/compiler/joomla_3/Helper.php b/admin/compiler/joomla_3/Helper.php
index 51e07c462..4d43cc470 100644
--- a/admin/compiler/joomla_3/Helper.php
+++ b/admin/compiler/joomla_3/Helper.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
@@ -753,6 +741,46 @@ abstract class ###Component###Helper
}
}
+ /**
+ * get the field object
+ *
+ * @param array $attributes The array of attributes
+ * @param string $default The default of the field
+ * @param array $options The options to apply to the XML element
+ *
+ * @return object
+ *
+ */
+ public static function getFieldObject(&$attributes, $default = '', $options = null)
+ {
+ // make sure we have attributes and a type value
+ if (self::checkArray($attributes) && isset($attributes['type']))
+ {
+ // make sure the form helper class is loaded
+ if (!method_exists('JFormHelper', 'loadFieldType'))
+ {
+ jimport('joomla.form.form');
+ }
+ // get field type
+ $field = JFormHelper::loadFieldType($attributes['type'],true);
+ // start field xml
+ $XML = new SimpleXMLElement('');
+ // load the attributes
+ self::xmlAddAttributes($XML, $attributes);
+ // check if we have options
+ if (self::checkArray($options))
+ {
+ // load the options
+ self::xmlAddOptions($XML, $options);
+ }
+ // setup the field
+ $field->setup($XML, $default);
+ // return the field object
+ return $field;
+ }
+ return false;
+ }
+
/**
* Render Bool Button
*
@@ -771,8 +799,6 @@ abstract class ###Component###Helper
$args = func_get_args();
// check if there is additional button class
$additional = isset($args[1]) ? (string) $args[1] : ''; // not used at this time
- // start the xml
- $buttonXML = new SimpleXMLElement('');
// button attributes
$buttonAttributes = array(
'type' => 'radio',
@@ -781,22 +807,12 @@ abstract class ###Component###Helper
'class' => 'btn-group',
'filter' => 'INT',
'default' => isset($args[2]) ? (int) $args[2] : 0);
- // load the haskey attributes
- self::xmlAddAttributes($buttonXML, $buttonAttributes);
// set the button options
$buttonOptions = array(
'1' => isset($args[3]) ? self::htmlEscape($args[3]) : 'JYES',
'0' => isset($args[4]) ? self::htmlEscape($args[4]) : 'JNO');
- // load the button options
- self::xmlAddOptions($buttonXML, $buttonOptions);
-
- // get the radio element
- $button = JFormHelper::loadFieldType('radio');
-
- // run
- $button->setup($buttonXML, $buttonAttributes['default']);
-
- return $button->input;
+ // return the input
+ return self::getFieldObject($buttonAttributes, $buttonAttributes['default'], $buttonOptions)->input;
}
/**
diff --git a/admin/compiler/joomla_3/Helper_category.php b/admin/compiler/joomla_3/Helper_category.php
index 7a3c18640..bff59c779 100644
--- a/admin/compiler/joomla_3/Helper_category.php
+++ b/admin/compiler/joomla_3/Helper_category.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
diff --git a/admin/compiler/joomla_3/Helper_category_view.php b/admin/compiler/joomla_3/Helper_category_view.php
index f2b0bf8bc..e02ee4b00 100644
--- a/admin/compiler/joomla_3/Helper_category_view.php
+++ b/admin/compiler/joomla_3/Helper_category_view.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
diff --git a/admin/compiler/joomla_3/Helper_email.php b/admin/compiler/joomla_3/Helper_email.php
index a75d36ad2..ea9701a30 100644
--- a/admin/compiler/joomla_3/Helper_email.php
+++ b/admin/compiler/joomla_3/Helper_email.php
@@ -1,25 +1,13 @@
- @my wife Roline van der Merwe
- @copyright Copyright (C) 2015. All Rights Reserved
- @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
-
- Builds Complex Joomla Components
-
-/-----------------------------------------------------------------------------------------------------------------------------*/
+/**
+ * @package Joomla.Component.Builder
+ *
+ * @created 30th April, 2015
+ * @author Llewellyn van der Merwe
+ * @github Joomla Component Builder
+ * @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
@@ -319,7 +307,7 @@ abstract class ###Component###Email
$body[] = "";
$body[] = "";
$body[] = "";
- $body[] = "".$subject."";
+ $body[] = "" . $subject . "";
$body[] = "