Component Builder (v.5.0.1-alpha1)
+ Component Builder (v.5.0.1-alpha2)
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.
diff --git a/componentbuilder_update_server.xml b/componentbuilder_update_server.xml
index 63b623492..1d14c89ee 100644
--- a/componentbuilder_update_server.xml
+++ b/componentbuilder_update_server.xml
@@ -59,10 +59,28 @@
pkg_component_builder
package
site
- 5.0.1-alpha1
+ 5.0.1-alpha
https://dev.vdm.io
- https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v5.0.1-alpha1.zip
+ https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v5.0.1-alpha2.zip
+
+
+ alpha
+
+ Llewellyn van der Merwe
+ https://dev.vdm.io
+
+
+
+ Component Builder
+ Builds Complex Joomla Components
+ pkg_component_builder
+ package
+ site
+ 5.0.1-alpha2
+ https://dev.vdm.io
+
+ https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v5.0.1-alpha2.zip
alpha
diff --git a/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/ActiveRegistry.php b/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/ActiveRegistry.php
index 861fcf962..e714bd291 100644
--- a/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/ActiveRegistry.php
+++ b/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/ActiveRegistry.php
@@ -40,6 +40,14 @@ abstract class ActiveRegistry implements Activeregistryinterface
**/
protected bool $addAsArray = false;
+ /**
+ * Base switch to keep array values unique
+ *
+ * @var boolean
+ * @since 3.2.2
+ **/
+ protected bool $uniqueArray = false;
+
/**
* Check if the registry has any content.
*
@@ -157,7 +165,16 @@ abstract class ActiveRegistry implements Activeregistryinterface
// Convert to array if it's not already an array
$array = [$array];
}
- $array[] = $value;
+
+ if ($this->uniqueArray && in_array($value, $array))
+ {
+ // we do nothing
+ return;
+ }
+ else
+ {
+ $array[] = $value;
+ }
}
else
{
diff --git a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Builder/DatabaseKeys.php b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Builder/DatabaseKeys.php
index e9496c54c..3c3cce1db 100644
--- a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Builder/DatabaseKeys.php
+++ b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Builder/DatabaseKeys.php
@@ -23,5 +23,20 @@ use VDM\Joomla\Abstraction\Registry;
*/
final class DatabaseKeys extends Registry implements Registryinterface
{
+ /**
+ * Base switch to add values as string or array
+ *
+ * @var boolean
+ * @since 3.2.0
+ **/
+ protected bool $addAsArray = true;
+
+ /**
+ * Base switch to keep array values unique
+ *
+ * @var boolean
+ * @since 3.2.2
+ **/
+ protected bool $uniqueArray = true;
}
diff --git a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Creator/AccessSections.php b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Creator/AccessSections.php
index 28fe04300..d59a3ce92 100644
--- a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Creator/AccessSections.php
+++ b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Creator/AccessSections.php
@@ -460,7 +460,7 @@ final class AccessSections
}
}
- $this->permission ->set(
+ $this->permission->set(
$custom_admin_view, $customAdminCode, $customAdminCode,
$menuControllers, 'customAdmin'
);
@@ -661,7 +661,8 @@ final class AccessSections
}
}
}
- $this->permission ->set(
+
+ $this->permission->set(
$view, $nameView, $nameViews, $menuControllers
);
}
diff --git a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Model/Permissions.php b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Model/Permissions.php
index 3c03e4911..45957f9e6 100644
--- a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Model/Permissions.php
+++ b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Compiler/Model/Permissions.php
@@ -39,7 +39,18 @@ class Permissions
if (ArrayHelper::check($item->addpermissions))
{
- $item->permissions = array_values($item->addpermissions);
+ if (isset($item->addpermissions["action"]) && is_array($item->addpermissions["action"])
+ && isset($item->addpermissions["implementation"]) && is_array($item->addpermissions["implementation"]))
+ {
+ foreach ($item->addpermissions["action"] as $k => $action)
+ {
+ $item->permissions[] = ['action' => $action, 'implementation' => $item->addpermissions["implementation"][$k]];
+ }
+ }
+ else
+ {
+ $item->permissions = array_values($item->addpermissions);
+ }
}
unset($item->addpermissions);
diff --git a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Extrusion/Helper/Mapping.php b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Extrusion/Helper/Mapping.php
index d9cc09abd..0247ecc7c 100644
--- a/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Extrusion/Helper/Mapping.php
+++ b/libraries/vendor_jcb/VDM.Joomla/src/Componentbuilder/Extrusion/Helper/Mapping.php
@@ -34,7 +34,7 @@ class Mapping
protected $buildcompsql;
public $id;
public $name_code;
- public array $addadmin_views;
+ public array $addadmin_views = [];
public array $addSql = [];
public array $source = [];
public array $sql = [];