Release of v3.2.4-beta3

Fix the missing edit button on fields in the related views. Fix the dashboard display. Place the search option back in the use field of the related views. Fix the namespace issue that broken the linker.
This commit is contained in:
Robot 2024-09-20 02:59:16 +02:00
parent 112961dabf
commit c103c93e06
Signed by: Robot
GPG Key ID: 14DECD44E7E1BB95
14 changed files with 187 additions and 57 deletions

View File

@ -1,13 +1,17 @@
# v3.2.4-beta2 # v3.2.4-beta3
- Fix the demo site view to also display files - Fix the missing edit button on fields in the related views
- Fix the message of field type init - Fix the dashboard display
- Fix to ensure type-agnostic comparisons by casting to CHAR in joins in dynamic get - Place the search option back in the use field of the related views
- Fix dynamic download for site area to have correct namespace - Fix the namespace issue that broken the linker
# v3.2.4-beta # v3.2.4-beta
- Fix zip missing working path - Fix zip missing working path
- Fix the demo site view to also display files
- Fix the message of field type init
- Fix to ensure type-agnostic comparisons by casting to CHAR in joins in dynamic get
- Fix dynamic download for site area to have correct namespace
# v3.2.4-alpha # v3.2.4-alpha

View File

@ -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 save you lots of time and money. A real must have! Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.4-beta2) with **ALL** its features and **ALL** concepts totally open-source and free! You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.4-beta3) 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) > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -144,11 +144,11 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder) + *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 19th September, 2024 + *Last Build*: 20th September, 2024
+ *Version*: 3.2.4-beta2 + *Version*: 3.2.4-beta3
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt + *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **850926** + *Line count*: **851132**
+ *Field count*: **2098** + *Field count*: **2098**
+ *File count*: **5788** + *File count*: **5788**
+ *Folder count*: **505** + *Folder count*: **505**

View File

@ -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 save you lots of time and money. A real must have! Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.4-beta2) with **ALL** its features and **ALL** concepts totally open-source and free! You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.4-beta3) 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) > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -144,11 +144,11 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder) + *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 19th September, 2024 + *Last Build*: 20th September, 2024
+ *Version*: 3.2.4-beta2 + *Version*: 3.2.4-beta3
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved. + *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt + *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **850926** + *Line count*: **851132**
+ *Field count*: **2098** + *Field count*: **2098**
+ *File count*: **5788** + *File count*: **5788**
+ *Folder count*: **505** + *Folder count*: **505**

View File

@ -1948,15 +1948,15 @@ class ComponentbuilderModelAjax extends ListModel
{ {
// check if we have GUID setup // check if we have GUID setup
$validGUID = function ($guid) { $validGUID = function ($guid) {
if (method_exists('ComponentbuilderHelper', 'validGUID') && ComponentbuilderHelper::validGUID($guid)) if (method_exists(ComponentbuilderHelper::class, 'validGUID') && ComponentbuilderHelper::validGUID($guid))
{ {
return true; return true;
} }
return false; return false;
}; };
// check if functions exists // check if functions exists
$guidEdit = method_exists('ComponentbuilderHelper', 'getEditButtonGUID'); $guidEdit = method_exists(ComponentbuilderHelper::class, 'getEditButtonGUID');
$getEdit = method_exists('ComponentbuilderHelper', 'getEditButton'); $getEdit = method_exists(ComponentbuilderHelper::class, 'getEditButton');
// reset bucket // reset bucket
$bucket = array(); $bucket = array();
if (UtilitiesArrayHelper::check($value)) if (UtilitiesArrayHelper::check($value))

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.10" method="upgrade"> <extension type="component" version="3.10" method="upgrade">
<name>COM_COMPONENTBUILDER</name> <name>COM_COMPONENTBUILDER</name>
<creationDate>19th September, 2024</creationDate> <creationDate>20th September, 2024</creationDate>
<author>Llewellyn van der Merwe</author> <author>Llewellyn van der Merwe</author>
<authorEmail>joomla@vdm.io</authorEmail> <authorEmail>joomla@vdm.io</authorEmail>
<authorUrl>https://dev.vdm.io</authorUrl> <authorUrl>https://dev.vdm.io</authorUrl>
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright> <copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license> <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<version>3.2.4-beta2</version> <version>3.2.4-beta3</version>
<description><![CDATA[ <description><![CDATA[
<h1>Component Builder (v.3.2.4-beta2)</h1> <h1>Component Builder (v.3.2.4-beta3)</h1>
<div style="clear: both;"></div> <div style="clear: both;"></div>
<p>The 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. <p>The 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.

View File

@ -205,7 +205,7 @@
<version>3.2.4-beta</version> <version>3.2.4-beta</version>
<infourl title="Component Builder!">https://dev.vdm.io</infourl> <infourl title="Component Builder!">https://dev.vdm.io</infourl>
<downloads> <downloads>
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.4-beta2.zip</downloadurl> <downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.4-beta3.zip</downloadurl>
</downloads> </downloads>
<tags> <tags>
<tag>beta</tag> <tag>beta</tag>
@ -220,10 +220,10 @@
<element>pkg_component_builder</element> <element>pkg_component_builder</element>
<type>package</type> <type>package</type>
<client>site</client> <client>site</client>
<version>3.2.4-beta2</version> <version>3.2.4-beta3</version>
<infourl title="Component Builder!">https://dev.vdm.io</infourl> <infourl title="Component Builder!">https://dev.vdm.io</infourl>
<downloads> <downloads>
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.4-beta2.zip</downloadurl> <downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v3.2.4-beta3.zip</downloadurl>
</downloads> </downloads>
<tags> <tags>
<tag>beta</tag> <tag>beta</tag>

View File

@ -329,10 +329,11 @@ final class ConfigFieldsets
$field['custom_value'] $field['custom_value']
)) ))
{ {
// add array if found // add array or object if found
if ((strpos((string) $field['custom_value'], '["') !== false) if (((strpos((string) $field['custom_value'], '["') !== false)
&& (strpos((string) $field['custom_value'], '"]') && (strpos((string) $field['custom_value'], '"]') !== false)) ||
!== false)) ((strpos((string) $field['custom_value'], '{"') !== false)
&& (strpos((string) $field['custom_value'], '"}') !== false)))
{ {
// load the Global checkin defautls // load the Global checkin defautls
$this->extensionsparams->add('component', '"' . $fieldName $this->extensionsparams->add('component', '"' . $fieldName

View File

@ -154,7 +154,7 @@ final class InputButton implements InputButtonInterface
. "\$button_code_name = \$this->getAttribute('name');"; . "\$button_code_name = \$this->getAttribute('name');";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " get the input from url"; . " get the input from url";
$addButton[] = Indent::_(3) . "\$app = Factory::getApplication();"; $addButton[] = Indent::_(3) . "\$app = Joomla__"."_39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();";
$addButton[] = Indent::_(3) . "\$jinput = \$app->input;"; $addButton[] = Indent::_(3) . "\$jinput = \$app->input;";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " get the view name & id"; . " get the view name & id";
@ -181,7 +181,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " get the return value."; . " get the return value.";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();"; . "\$_uri = (string) Joomla__"."_eecc143e_b5cf_4c33_ba4d_97da1df61422___Power::getInstance();";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_return = urlencode(base64_encode(\$_uri));"; . "\$_return = urlencode(base64_encode(\$_uri));";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
@ -206,7 +206,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " get the return value."; . " get the return value.";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();"; . "\$_uri = (string) Joomla__"."_eecc143e_b5cf_4c33_ba4d_97da1df61422___Power::getInstance();";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_return = urlencode(base64_encode(\$_uri));"; . "\$_return = urlencode(base64_encode(\$_uri));";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
@ -231,7 +231,7 @@ final class InputButton implements InputButtonInterface
. "\$button_label = ucfirst(strtolower(\$button_label));"; . "\$button_label = ucfirst(strtolower(\$button_label));";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " get user object"; . " get user object";
$addButton[] = Indent::_(3) . "\$user = Factory::getApplication()->getIdentity();"; $addButton[] = Indent::_(3) . "\$user = Joomla__"."_39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getIdentity();";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " only add if user allowed to create " . $fieldData['view']; . " only add if user allowed to create " . $fieldData['view'];
// check if the item has permissions. // check if the item has permissions.
@ -272,7 +272,11 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "\$script[] = \""; $addButton[] = Indent::_(4) . "\$script[] = \"";
$addButton[] = Indent::_(5) . "document.addEventListener('DOMContentLoaded', function() {"; $addButton[] = Indent::_(5) . "document.addEventListener('DOMContentLoaded', function() {";
$addButton[] = Indent::_(6) $addButton[] = Indent::_(6)
. "document.getElementById('jform_\".\$button_code_name.\"').addEventListener('change', function(e) {"; . "let \".\$button_code_name.\"Field = document.getElementById('jform_\".\$button_code_name.\"');";
$addButton[] = Indent::_(6)
. "if (!\".\$button_code_name.\"Field) { return; }";
$addButton[] = Indent::_(6)
. "\".\$button_code_name.\"Field.addEventListener('change', function(e) {";
$addButton[] = Indent::_(7) . "e.preventDefault();"; $addButton[] = Indent::_(7) . "e.preventDefault();";
$addButton[] = Indent::_(7) $addButton[] = Indent::_(7)
. "let \".\$button_code_name.\"Value = this.value;"; . "let \".\$button_code_name.\"Value = this.value;";
@ -280,7 +284,7 @@ $addButton[] = Indent::_(4) . "\$script[] = \"";
. "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);"; . "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);";
$addButton[] = Indent::_(6) . "});"; $addButton[] = Indent::_(6) . "});";
$addButton[] = Indent::_(6) $addButton[] = Indent::_(6)
. "let \".\$button_code_name.\"Value = document.getElementById('jform_\".\$button_code_name.\"').value;"; . "let \".\$button_code_name.\"Value = \".\$button_code_name.\"Field.value;";
$addButton[] = Indent::_(6) $addButton[] = Indent::_(6)
. "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);"; . "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);";
$addButton[] = Indent::_(5) . "});"; $addButton[] = Indent::_(5) . "});";
@ -324,7 +328,7 @@ $addButton[] = Indent::_(4) . "\$script[] = \"";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " Load the needed script."; . " Load the needed script.";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$document = Factory::getApplication()->getDocument();"; . "\$document = Joomla__"."_39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getDocument();";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$document->addScriptDeclaration(implode(' ',\$script));"; . "\$document->addScriptDeclaration(implode(' ',\$script));";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)

View File

@ -154,7 +154,7 @@ final class InputButton implements InputButtonInterface
. "\$button_code_name = \$this->getAttribute('name');"; . "\$button_code_name = \$this->getAttribute('name');";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " get the input from url"; . " get the input from url";
$addButton[] = Indent::_(3) . "\$app = Factory::getApplication();"; $addButton[] = Indent::_(3) . "\$app = Joomla__"."_39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication();";
$addButton[] = Indent::_(3) . "\$jinput = \$app->input;"; $addButton[] = Indent::_(3) . "\$jinput = \$app->input;";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " get the view name & id"; . " get the view name & id";
@ -181,7 +181,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " get the return value."; . " get the return value.";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();"; . "\$_uri = (string) Joomla__"."_eecc143e_b5cf_4c33_ba4d_97da1df61422___Power::getInstance();";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_return = urlencode(base64_encode(\$_uri));"; . "\$_return = urlencode(base64_encode(\$_uri));";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
@ -206,7 +206,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " get the return value."; . " get the return value.";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();"; . "\$_uri = (string) Joomla__"."_eecc143e_b5cf_4c33_ba4d_97da1df61422___Power::getInstance();";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$_return = urlencode(base64_encode(\$_uri));"; . "\$_return = urlencode(base64_encode(\$_uri));";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
@ -231,7 +231,7 @@ final class InputButton implements InputButtonInterface
. "\$button_label = ucfirst(strtolower(\$button_label));"; . "\$button_label = ucfirst(strtolower(\$button_label));";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " get user object"; . " get user object";
$addButton[] = Indent::_(3) . "\$user = Factory::getApplication()->getIdentity();"; $addButton[] = Indent::_(3) . "\$user = Joomla__"."_39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getIdentity();";
$addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(3) . "//" . Line::_(__Line__, __Class__)
. " only add if user allowed to create " . $fieldData['view']; . " only add if user allowed to create " . $fieldData['view'];
// check if the item has permissions. // check if the item has permissions.
@ -272,7 +272,11 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "\$script[] = \""; $addButton[] = Indent::_(4) . "\$script[] = \"";
$addButton[] = Indent::_(5) . "document.addEventListener('DOMContentLoaded', function() {"; $addButton[] = Indent::_(5) . "document.addEventListener('DOMContentLoaded', function() {";
$addButton[] = Indent::_(6) $addButton[] = Indent::_(6)
. "document.getElementById('jform_\".\$button_code_name.\"').addEventListener('change', function(e) {"; . "let \".\$button_code_name.\"Field = document.getElementById('jform_\".\$button_code_name.\"');";
$addButton[] = Indent::_(6)
. "if (!\".\$button_code_name.\"Field) { return; }";
$addButton[] = Indent::_(6)
. "\".\$button_code_name.\"Field.addEventListener('change', function(e) {";
$addButton[] = Indent::_(7) . "e.preventDefault();"; $addButton[] = Indent::_(7) . "e.preventDefault();";
$addButton[] = Indent::_(7) $addButton[] = Indent::_(7)
. "let \".\$button_code_name.\"Value = this.value;"; . "let \".\$button_code_name.\"Value = this.value;";
@ -280,7 +284,7 @@ $addButton[] = Indent::_(4) . "\$script[] = \"";
. "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);"; . "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);";
$addButton[] = Indent::_(6) . "});"; $addButton[] = Indent::_(6) . "});";
$addButton[] = Indent::_(6) $addButton[] = Indent::_(6)
. "let \".\$button_code_name.\"Value = document.getElementById('jform_\".\$button_code_name.\"').value;"; . "let \".\$button_code_name.\"Value = \".\$button_code_name.\"Field.value;";
$addButton[] = Indent::_(6) $addButton[] = Indent::_(6)
. "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);"; . "\".\$button_code_name.\"Button(\".\$button_code_name.\"Value);";
$addButton[] = Indent::_(5) . "});"; $addButton[] = Indent::_(5) . "});";
@ -324,7 +328,7 @@ $addButton[] = Indent::_(4) . "\$script[] = \"";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " Load the needed script."; . " Load the needed script.";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$document = Factory::getApplication()->getDocument();"; . "\$document = Joomla__"."_39403062_84fb_46e0_bac4_0023f766e827___Power::getApplication()->getDocument();";
$addButton[] = Indent::_(4) $addButton[] = Indent::_(4)
. "\$document->addScriptDeclaration(implode(' ',\$script));"; . "\$document->addScriptDeclaration(implode(' ',\$script));";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__) $addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)

View File

@ -1588,7 +1588,7 @@ class Infusion extends Interpretation
// DASHBOARDICONACCESS // DASHBOARDICONACCESS
CFactory::_('Compiler.Builder.Content.Multi')->set(CFactory::_('Config')->component_code_name . '|DASHBOARDICONACCESS', CFactory::_('Compiler.Builder.Content.Multi')->set(CFactory::_('Config')->component_code_name . '|DASHBOARDICONACCESS',
$this->setDashboardIconAccess() CFactory::_('Compiler.Builder.Permission.Dashboard')->build()
); );
// DASH_MODEL_METHODS // DASH_MODEL_METHODS

View File

@ -21424,6 +21424,15 @@ class Interpretation extends Fields
} }
public function setDashboardDisplayData() public function setDashboardDisplayData()
{
if (CFactory::_('Config')->get('joomla_version', 3) == 3)
{
return $this->setDashboardDisplayDataJ3();
}
return $this->setDashboardDisplayDataJ4();
}
public function setDashboardDisplayDataJ3()
{ {
// display array reset // display array reset
$display = []; $display = [];
@ -21435,13 +21444,7 @@ class Interpretation extends Fields
$row_class = 'row-fluid'; $row_class = 'row-fluid';
$form_class = 'form-horizontal'; $form_class = 'form-horizontal';
$uitab = 'bootstrap'; $uitab = 'bootstrap';
if (CFactory::_('Config')->get('joomla_version', 3) != 3)
{
$width_class = 'col-md-';
$row_class = 'row';
$form_class = 'main-card';
$uitab = 'uitab';
}
// check if we have custom tabs // check if we have custom tabs
if (CFactory::_('Component')->isArray('dashboard_tab')) if (CFactory::_('Component')->isArray('dashboard_tab'))
{ {
@ -21574,6 +21577,120 @@ class Interpretation extends Fields
return PHP_EOL . implode(PHP_EOL, $display); return PHP_EOL . implode(PHP_EOL, $display);
} }
public function setDashboardDisplayDataJ4()
{
// display array reset
$display = [];
$mainAccordianName = 'cPanel';
$builder = [];
$tab = Indent::_(3);
$loadTabs = false;
$width_class = 'col-md-';
$row_class = 'row';
$form_class = 'main-card';
$uitab = 'uitab';
// check if we have custom tabs
if (CFactory::_('Component')->isArray('dashboard_tab'))
{
// build the tabs and accordians
foreach (CFactory::_('Component')->get('dashboard_tab') as $data)
{
$builder[$data['name']][$data['header']]
= CFactory::_('Placeholder')->update_(
$data['html']
);
}
// since we have custom tabs we must load the tab structure around the cpanel
$display[] = '<div id="j-main-container">';
$display[] = Indent::_(1) . '<div class="' . $form_class . '">';
$display[] = Indent::_(1)
. "<?php echo Html::_('{$uitab}.startTabSet', 'cpanel_tab', array('active' => 'cpanel')); ?>";
$display[] = PHP_EOL . Indent::_(2)
. "<?php echo Html::_('{$uitab}.addTab', 'cpanel_tab', 'cpanel', Text:"
. ":_('cPanel', true)); ?>";
$display[] = Indent::_(2) . '<div class="' . $row_class . '">';
// change the name of the main tab
$mainAccordianName = 'Control Panel';
$loadTabs = true;
}
else
{
$display[] = '<div id="j-main-container">';
$display[] = Indent::_(1) . '<div class="' . $form_class . '" style="padding: 20px;">';
$display[] = Indent::_(2) . '<div class="' . $row_class . '">';
}
// set dashboard display
$display[] = $tab . '<div class="' . $width_class . '9">';
$display[] = $tab . Indent::_(1)
. "<?php echo \$this->loadTemplate('main');?>";
$display[] = $tab . "</div>";
$display[] = $tab . '<div class="' . $width_class . '3">';
$display[] = $tab . Indent::_(1)
. "<?php echo \$this->loadTemplate('vdm');?>";
$display[] = $tab . "</div>";
if ($loadTabs)
{
$display[] = Indent::_(2) . "</div>";
$display[] = Indent::_(2)
. "<?php echo Html::_('{$uitab}.endTab'); ?>";
// load the new tabs
foreach ($builder as $tabname => $accordians)
{
$alias = StringHelper::safe($tabname);
$display[] = PHP_EOL . Indent::_(2)
. "<?php echo Html::_('{$uitab}.addTab', 'cpanel_tab', '"
. $alias . "', Text:" . ":_('" . $tabname
. "', true)); ?>";
$display[] = Indent::_(2) . '<div class="' . $row_class . '">';
$display[] = $tab . '<div class="' . $width_class . '12">';
$slidecounter = 1;
foreach ($accordians as $accordianname => $html)
{
$ac_alias = StringHelper::safe(
$accordianname
);
$counterName = StringHelper::safe(
$slidecounter
);
$tempName = $alias . '_' . $ac_alias;
$display[] = $tab . Indent::_(1)
. "<?php echo \$this->loadTemplate('" . $tempName
. "');?>";
$slidecounter++;
// build the template file
$target = array('custom_admin' => CFactory::_('Config')->component_code_name);
CFactory::_('Utilities.Structure')->build($target, 'template', $tempName);
// set the file data
$TARGET = StringHelper::safe(
CFactory::_('Config')->build_target, 'U'
);
// SITE_TEMPLATE_BODY <<<DYNAMIC>>>
CFactory::_('Compiler.Builder.Content.Multi')->set(CFactory::_('Config')->component_code_name . '_' . $tempName . '|CUSTOM_ADMIN_TEMPLATE_BODY', PHP_EOL . $html);
// SITE_TEMPLATE_CODE_BODY <<<DYNAMIC>>>
CFactory::_('Compiler.Builder.Content.Multi')->set(CFactory::_('Config')->component_code_name . '_' . $tempName . '|CUSTOM_ADMIN_TEMPLATE_CODE_BODY', '');
}
$display[] = $tab . "</div>";
$display[] = Indent::_(2) . "</div>";
$display[] = Indent::_(2)
. "<?php echo Html::_('{$uitab}.endTab'); ?>";
}
$display[] = PHP_EOL . Indent::_(1)
. "<?php echo Html::_('{$uitab}.endTabSet'); ?>";
}
else
{
$display[] = Indent::_(2) . "</div>";
}
$display[] = Indent::_(1) . "</div>";
$display[] = "</div>";
// return the display
return PHP_EOL . implode(PHP_EOL, $display);
}
public function addCustomDashboardIcons(&$view, &$counter) public function addCustomDashboardIcons(&$view, &$counter)
{ {
$icon = ''; $icon = '';

View File

@ -492,7 +492,7 @@ class Power implements PowerInterface
$this->active[$guid]->file_name = array_pop($src_array); $this->active[$guid]->file_name = array_pop($src_array);
// namespace array // namespace array
$namespace_array = [...$path_array, ...$src_array]; $namespace_array = array_merge($path_array, $src_array);
} }
else else
{ {
@ -534,12 +534,12 @@ class Power implements PowerInterface
// set the actual class namespace // set the actual class namespace
$this->active[$guid]->_namespace = implode('\\', $namespace_array); $this->active[$guid]->_namespace = implode('\\', $namespace_array);
// set global namespaces for autoloader
$this->namespace[implode('.', $path_array)] = $path_array;
// get the parent folder (the first value in array) // get the parent folder (the first value in array)
$prefix_folder = implode('.', $path_array); $prefix_folder = implode('.', $path_array);
// set global namespaces for autoloader
$this->namespace[$prefix_folder] = $path_array;
// make sub folders if still found // make sub folders if still found
$sub_folder = ''; $sub_folder = '';
if (ArrayHelper::check($src_array)) if (ArrayHelper::check($src_array))

View File

@ -7173,7 +7173,7 @@ class Com_ComponentbuilderInstallerScript
$query = $db->getQuery(true); $query = $db->getQuery(true);
// Field to update. // Field to update.
$fields = array( $fields = array(
$db->quoteName('params') . ' = ' . $db->quote('{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","subform_layouts":"default","editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","super_powers_documentation":"0","powers_repository":"0","super_powers_repositories":"0","builder_gif_size":"480-272","compiler_plugin":["componentbuilderactionlogcompiler","componentbuilderfieldorderingcompiler","componentbuilderheaderscompiler","componentbuilderpowersautoloadercompiler","componentbuilderprivacycompiler"],"add_menu_prefix":"1","menu_prefix":"»","namespace_prefix":"JCB","minify":"0","language":"en-GB","percentagelanguageadd":"30","assets_table_fix":"2","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","import_guid_only":"1","export_language_strings":"1","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_company":"Vast Development Method","export_owner":"Llewellyn van der Merwe","export_email":"joomla@vdm.io","export_website":"https://dev.vdm.io/","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","add_jquery_framework":"1","uikit_load":"1","uikit_min":"","uikit_style":""}'), $db->quoteName('params') . ' = ' . $db->quote('{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","subform_layouts":{"subform_layouts0":{"view_field":"default","layout":"repeatablejcbjfive"}},"editor":"none","manage_jcb_package_directories":"2","set_browser_storage":"1","storage_time_to_live":"global","super_powers_documentation":"0","powers_repository":"0","super_powers_repositories":"0","builder_gif_size":"480-272","compiler_plugin":["componentbuilderactionlogcompiler","componentbuilderfieldorderingcompiler","componentbuilderheaderscompiler","componentbuilderpowersautoloadercompiler","componentbuilderprivacycompiler"],"add_menu_prefix":"1","menu_prefix":"»","namespace_prefix":"JCB","minify":"0","language":"en-GB","percentagelanguageadd":"30","assets_table_fix":"2","compiler_field_builder_type":"2","field_name_builder":"1","type_name_builder":"1","import_guid_only":"1","export_language_strings":"1","cronjob_backup_type":"1","cronjob_backup_server":"0","backup_package_name":"JCB_Backup_[YEAR]_[MONTH]_[DAY]","export_company":"Vast Development Method","export_owner":"Llewellyn van der Merwe","export_email":"joomla@vdm.io","export_website":"https://dev.vdm.io/","export_license":"GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html","export_copyright":"Copyright (C) 2015. All Rights Reserved","check_in":"-1 day","save_history":"1","history_limit":"10","add_jquery_framework":"1","uikit_load":"1","uikit_min":"","uikit_style":""}'),
); );
// Condition. // Condition.
$conditions = array( $conditions = array(
@ -10001,7 +10001,7 @@ class Com_ComponentbuilderInstallerScript
echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://dev.vdm.io" title="Component Builder"> echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://dev.vdm.io" title="Component Builder">
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/> <img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
</a> </a>
<h3>Upgrade to Version 3.2.4-beta2 Was Successful! Let us know if anything is not working as expected.</h3></div>'; <h3>Upgrade to Version 3.2.4-beta3 Was Successful! Let us know if anything is not working as expected.</h3></div>';
// Set db if not set already. // Set db if not set already.
if (!isset($db)) if (!isset($db))