Release of v4.0.1-alpha2

Fix permission issue for admin views.
This commit is contained in:
Robot 2024-05-16 16:06:17 +02:00
parent e6a2d4a404
commit 37c3a9a670
Signed by untrusted user: Robot
GPG Key ID: 14DECD44E7E1BB95
12 changed files with 89 additions and 22 deletions

View File

@ -1,4 +1,8 @@
# v4.0.1-alpha1 # v4.0.1-alpha2
- Fix permission issue for admin views.
# v4.0.1-alpha
- Fix auto build from SQL in Joomla 4. - Fix auto build from SQL in Joomla 4.

View File

@ -3210,7 +3210,7 @@ class Com_ComponentbuilderInstallerScript implements InstallerScriptInterface
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 4.0.1-alpha1 Was Successful! Let us know if anything is not working as expected.</h3></div>'; <h3>Upgrade to Version 4.0.1-alpha2 Was Successful! Let us know if anything is not working as expected.</h3></div>';
// Add/Update component in the action logs extensions table. // Add/Update component in the action logs extensions table.
$this->setActionLogsExtensions(); $this->setActionLogsExtensions();

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 (4.0.1-alpha1) 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 (4.0.1-alpha2) 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,13 +144,13 @@ 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*: 13th May, 2024 + *Last Build*: 16th May, 2024
+ *Version*: 4.0.1-alpha1 + *Version*: 4.0.1-alpha2
+ *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*: **746250** + *Line count*: **746407**
+ *Field count*: **2097** + *Field count*: **2097**
+ *File count*: **5287** + *File count*: **5288**
+ *Folder count*: **528** + *Folder count*: **528**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). > This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).

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 (4.0.1-alpha1) 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 (4.0.1-alpha2) 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,13 +144,13 @@ 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*: 13th May, 2024 + *Last Build*: 16th May, 2024
+ *Version*: 4.0.1-alpha1 + *Version*: 4.0.1-alpha2
+ *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*: **746250** + *Line count*: **746407**
+ *Field count*: **2097** + *Field count*: **2097**
+ *File count*: **5287** + *File count*: **5288**
+ *Folder count*: **528** + *Folder count*: **528**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com). > This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).

View File

@ -0,0 +1 @@

View File

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="4.0" method="upgrade"> <extension type="component" version="4.0" method="upgrade">
<name>COM_COMPONENTBUILDER</name> <name>COM_COMPONENTBUILDER</name>
<creationDate>13th May, 2024</creationDate> <creationDate>16th May, 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>4.0.1-alpha1</version> <version>4.0.1-alpha2</version>
<description><![CDATA[ <description><![CDATA[
<h1>Component Builder (v.4.0.1-alpha1)</h1> <h1>Component Builder (v.4.0.1-alpha2)</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

@ -41,10 +41,28 @@
<element>pkg_component_builder</element> <element>pkg_component_builder</element>
<type>package</type> <type>package</type>
<client>site</client> <client>site</client>
<version>4.0.1-alpha1</version> <version>4.0.1-alpha</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/v4.0.1-alpha1.zip</downloadurl> <downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v4.0.1-alpha2.zip</downloadurl>
</downloads>
<tags>
<tag>alpha</tag>
</tags>
<maintainer>Llewellyn van der Merwe</maintainer>
<maintainerurl>https://dev.vdm.io</maintainerurl>
<targetplatform name="joomla" version="4\.[01234]"/>
</update>
<update>
<name>Component Builder</name>
<description>Builds Complex Joomla Components</description>
<element>pkg_component_builder</element>
<type>package</type>
<client>site</client>
<version>4.0.1-alpha2</version>
<infourl title="Component Builder!">https://dev.vdm.io</infourl>
<downloads>
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/joomla/pkg-component-builder/archive/v4.0.1-alpha2.zip</downloadurl>
</downloads> </downloads>
<tags> <tags>
<tag>alpha</tag> <tag>alpha</tag>

View File

@ -40,6 +40,14 @@ abstract class ActiveRegistry implements Activeregistryinterface
**/ **/
protected bool $addAsArray = false; 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. * Check if the registry has any content.
* *
@ -157,8 +165,17 @@ abstract class ActiveRegistry implements Activeregistryinterface
// Convert to array if it's not already an array // Convert to array if it's not already an array
$array = [$array]; $array = [$array];
} }
if ($this->uniqueArray && in_array($value, $array))
{
// we do nothing
return;
}
else
{
$array[] = $value; $array[] = $value;
} }
}
else else
{ {
if (is_string($value) || is_numeric($value)) if (is_string($value) || is_numeric($value))

View File

@ -23,5 +23,20 @@ use VDM\Joomla\Abstraction\Registry;
*/ */
final class DatabaseKeys extends Registry implements Registryinterface 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;
} }

View File

@ -661,6 +661,7 @@ final class AccessSections
} }
} }
} }
$this->permission->set( $this->permission->set(
$view, $nameView, $nameViews, $menuControllers $view, $nameView, $nameViews, $menuControllers
); );

View File

@ -38,9 +38,20 @@ class Permissions
? json_decode((string) $item->addpermissions, true) : null; ? json_decode((string) $item->addpermissions, true) : null;
if (ArrayHelper::check($item->addpermissions)) if (ArrayHelper::check($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); $item->permissions = array_values($item->addpermissions);
} }
}
unset($item->addpermissions); unset($item->addpermissions);
} }

View File

@ -34,7 +34,7 @@ class Mapping
protected $buildcompsql; protected $buildcompsql;
public $id; public $id;
public $name_code; public $name_code;
public array $addadmin_views; public array $addadmin_views = [];
public array $addSql = []; public array $addSql = [];
public array $source = []; public array $source = [];
public array $sql = []; public array $sql = [];