JCB 3.2.0 Stable #1097

Merged
Llewellyn merged 24 commits from 3.x into master 2024-03-27 13:06:22 +00:00
46 changed files with 255 additions and 159 deletions
Showing only changes of commit ec714566f6 - Show all commits

View File

@ -1,3 +1,10 @@
# v3.2.0-beta10
- Fix the search area layout.
- Fix the search area code line selection.
- Fix the input edit button for custom fields.
- Add the new layout to list fields (GUI UPDATE)
# v3.2.0-beta9
- Fix [Set String Value] in placeholder table to store the value as a base64 string.

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!
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.0-beta9) 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.0-beta10) 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)
@ -144,13 +144,13 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 20th March, 2024
+ *Version*: 3.2.0-beta9
+ *Last Build*: 26th March, 2024
+ *Version*: 3.2.0-beta10
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **738901**
+ *Line count*: **739140**
+ *Field count*: **2078**
+ *File count*: **5203**
+ *File count*: **5209**
+ *Folder count*: **459**
> 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!
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.0-beta9) 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.0-beta10) 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)
@ -144,13 +144,13 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 20th March, 2024
+ *Version*: 3.2.0-beta9
+ *Last Build*: 26th March, 2024
+ *Version*: 3.2.0-beta10
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **738901**
+ *Line count*: **739140**
+ *Field count*: **2078**
+ *File count*: **5203**
+ *File count*: **5209**
+ *Folder count*: **459**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).

View File

@ -1012,6 +1012,7 @@
name="language"
label="COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="en-GB"
required="true"

View File

@ -27,6 +27,7 @@ use Joomla\Registry\Registry;
use VDM\Joomla\Componentbuilder\Search\Factory as SearchFactory;
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
use VDM\Joomla\Utilities\GetHelper;
use VDM\Joomla\Utilities\GuidHelper;
use VDM\Joomla\Utilities\Base64Helper;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper;
@ -505,16 +506,16 @@ class ComponentbuilderModelAjax extends ListModel
// we get the plugin group, or the powers
if ($key == 1)
{
return ComponentbuilderHelper::getVars('class_' . $type, $id, 'joomla_plugin_group', 'id');
return GetHelper::vars('class_' . $type, $id, 'joomla_plugin_group', 'id');
}
elseif ($key == 2)
{
return ComponentbuilderHelper::getVars('class_' . $type, 'powers', 'extension_type', 'id');
return GetHelper::vars('class_' . $type, 'powers', 'extension_type', 'id');
}
}
elseif ('joomla_plugin_group' === $type)
{
return ComponentbuilderHelper::getVars($type, $id, 'class_extends', 'id');
return GetHelper::vars($type, $id, 'class_extends', 'id');
}
return false;
}
@ -526,8 +527,7 @@ class ComponentbuilderModelAjax extends ListModel
return base64_decode($head);
}
return false;
}
}
// Used in admin_view
protected $rowNumbers = array(
@ -1561,9 +1561,9 @@ class ComponentbuilderModelAjax extends ListModel
protected function linkedGuid($guid, $setGuid): bool
{
// check if GUID is valid
if ($guid && ComponentbuilderHelper::validGUID($guid))
if ($guid && GuidHelper::valid($guid))
{
if (is_string($setGuid) && ComponentbuilderHelper::validGUID($setGuid) && $guid === $setGuid)
if (is_string($setGuid) && GuidHelper::valid($setGuid) && $guid === $setGuid)
{
return true;
}
@ -1581,7 +1581,7 @@ class ComponentbuilderModelAjax extends ListModel
* @var array
* @since 3.0.13
*/
protected $viewid = array();
protected $viewid = [];
/**
* Get the view details via the session
@ -1614,9 +1614,9 @@ class ComponentbuilderModelAjax extends ListModel
}
}
// set GUID if found
if (($guid = ComponentbuilderHelper::get($vdm . '__guid')) !== false && method_exists('ComponentbuilderHelper', 'validGUID'))
if (($guid = ComponentbuilderHelper::get($vdm . '__guid')) !== false)
{
if (ComponentbuilderHelper::validGUID($guid))
if (GuidHelper::valid($guid))
{
$this->viewid[$call]['a_guid'] = $guid;
}
@ -3162,7 +3162,7 @@ class ComponentbuilderModelAjax extends ListModel
// get the full path to rule file
$path = JPATH_LIBRARIES . '/src/Form/Rule/'.$name.'Rule.php';
// get all the code
if ($code = ComponentbuilderHelper::getFileContents($path))
if ($code = FileHelper::getContent($path))
{
// remove the class details and the ending }
$codeArray = (array) explode("FormRule\n{\n", $code);

View File

@ -39,23 +39,24 @@ class JFormFieldArticles extends JFormFieldList
*/
protected function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.title','a.alias'),array('id','article_title','alias')));
$query->from($db->quoteName('#__content', 'a'));
$query->where($db->quoteName('a.state') . ' = 1');
$query->order('a.title ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', 'Select an Article');
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->article_title . ' (' . $item->alias . ')');
}
}
return $options;
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.title','a.alias'),array('id','article_title','alias')));
$query->from($db->quoteName('#__content', 'a'));
$query->where($db->quoteName('a.state') . ' = 1');
$query->order('a.title ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', 'Select an Article');
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->article_title . ' (' . $item->alias . ')');
}
}
return $options;
}
}

View File

@ -94,7 +94,7 @@ class JFormFieldClassextends extends JFormFieldList
if ($user->authorise('class_extends.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldClasspowers extends JFormFieldList
if ($user->authorise('power.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -39,25 +39,26 @@ class JFormFieldCustomgets extends JFormFieldList
*/
protected function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name','a.gettype'),array('id','custom_get_name','type')));
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.name','a.gettype'),array('id','custom_get_name','type')));
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
$query->where($db->quoteName('a.published') . ' = 1');
$query->where('( '.$db->quoteName('a.gettype') . ' = 3 OR ' . $db->quoteName('a.gettype') . ' = 4 )');
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$model = ComponentbuilderHelper::getModel('dynamic_gets');
foreach($items as $item)
{
$type = $model->selectionTranslation($item->type,'gettype');
$options[] = JHtml::_('select.option', $item->id, $item->custom_get_name . ' (' . JText::_($type) . ')' );
}
}
return $options;
$query->order('a.name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$model = ComponentbuilderHelper::getModel('dynamic_gets');
foreach($items as $item)
{
$type = $model->selectionTranslation($item->type,'gettype');
$options[] = JHtml::_('select.option', $item->id, $item->custom_get_name . ' (' . JText::_($type) . ')' );
}
}
return $options;
}
}

View File

@ -94,7 +94,7 @@ class JFormFieldDynamicget extends JFormFieldList
if ($user->authorise('dynamic_get.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
if ($user->authorise('language.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_CONTENT_COMPONENTBUILDERLANGUAGETABS_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldFieldtypes extends JFormFieldList
if ($user->authorise('fieldtype.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldInterfacepowers extends JFormFieldList
if ($user->authorise('power.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldJoomlacomponent extends JFormFieldList
if ($user->authorise('joomla_component.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldJoomlaplugingroups extends JFormFieldList
if ($user->authorise('core.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldJoomlaplugins extends JFormFieldList
if ($user->authorise('joomla_plugin.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_EXTENSION_COMPONENTBUILDERPOWERSAUTOLOADERCOMPILER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('PLG_EXTENSION_COMPONENTBUILDERPOWERSAUTOLOADERCOMPILER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldLibraries extends JFormFieldList
if ($user->authorise('library.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldLibrariesx extends JFormFieldList
if ($user->authorise('library.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldLibrary extends JFormFieldList
if ($user->authorise('library.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldMaingets extends JFormFieldList
if ($user->authorise('dynamic_get.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldServers extends JFormFieldList
if ($user->authorise('server.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -94,7 +94,7 @@ class JFormFieldSnippets extends JFormFieldList
if ($user->authorise('core.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
{
// build edit button
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "

View File

@ -871,6 +871,7 @@
label="COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_DESCRIPTION"
class="list_class fieldFull"
layout="joomla.form.field.list-fancy-select"
multiple="true"
showon="alias_builder_type:2"
/>

View File

@ -341,8 +341,8 @@
name="custom_get"
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CUSTOM_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default=""
/>
<!-- Add_javascript_file Field. Type: Radio. (joomla) -->
<field
@ -452,6 +452,7 @@
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -276,6 +276,7 @@
label="COM_COMPONENTBUILDER_DYNAMIC_GET_DB_TABLE_MAIN_LABEL"
description="COM_COMPONENTBUILDER_DYNAMIC_GET_DB_TABLE_MAIN_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
required="true"
button="false"

View File

@ -145,6 +145,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default=""
required="true"
@ -157,6 +158,7 @@
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL"
description="COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
required="true"
button="false"
@ -183,6 +185,7 @@
name="article"
label="COM_COMPONENTBUILDER_HELP_DOCUMENT_ARTICLE_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
required="true"

View File

@ -1069,6 +1069,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_DESCRIPTION"
class="fieldMedium"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default=""
/>

View File

@ -325,6 +325,7 @@
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"
@ -364,8 +365,8 @@
name="custom_get"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default=""
/>
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
<field

View File

@ -114,6 +114,7 @@
name="plugins"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_PLUGINS_LABEL"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
button="true"
@ -124,6 +125,7 @@
name="modules"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_MODULES_LABEL"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
button="true"
@ -134,6 +136,7 @@
name="components"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_COMPONENTS_LABEL"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
button="false"
@ -167,6 +170,7 @@
name="language"
label="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATION_LANGUAGE_LABEL"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="en-GB"
required="true"

View File

@ -215,6 +215,7 @@
label="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -193,6 +193,7 @@
label="COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_LIBRARY_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -310,6 +310,7 @@
label="COM_COMPONENTBUILDER_POWER_EXTENDS_LABEL"
description="COM_COMPONENTBUILDER_POWER_EXTENDS_DESCRIPTION"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
showon="type:class[OR]type:abstract class[OR]type:final class"
@ -405,6 +406,7 @@
label="COM_COMPONENTBUILDER_POWER_IMPLEMENTS_LABEL"
description="COM_COMPONENTBUILDER_POWER_IMPLEMENTS_DESCRIPTION"
class="list_class span12"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
showon="type!:interface[AND]type!:trait"

View File

@ -313,8 +313,8 @@
name="custom_get"
label="COM_COMPONENTBUILDER_SITE_VIEW_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_CUSTOM_GET_DESCRIPTION"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default=""
/>
<!-- Note_linked_to_notice Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_linked_to_notice" label="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LINKED_TO_NOTICE_LABEL" description="COM_COMPONENTBUILDER_SITE_VIEW_NOTE_LINKED_TO_NOTICE_DESCRIPTION" heading="h4" class="note_linked_to_notice" />
@ -416,6 +416,7 @@
label="COM_COMPONENTBUILDER_SITE_VIEW_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_SITE_VIEW_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -215,6 +215,7 @@
label="COM_COMPONENTBUILDER_TEMPLATE_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_TEMPLATE_LIBRARIES_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="true"
default="0"
required="false"

View File

@ -125,6 +125,7 @@
label="COM_COMPONENTBUILDER_VALIDATION_RULE_INHERIT_LABEL"
description="COM_COMPONENTBUILDER_VALIDATION_RULE_INHERIT_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
default="0"
required="false"

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@

View File

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

View File

@ -1685,4 +1685,22 @@
<maintainerurl>https://dev.vdm.io</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
<update>
<name>Component Builder</name>
<description>Builds Complex Joomla Components</description>
<element>pkg_component_builder</element>
<type>package</type>
<client>site</client>
<version>3.2.0-beta10</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/v3.2.0-beta10.zip</downloadurl>
</downloads>
<tags>
<tag>beta</tag>
</tags>
<maintainer>Llewellyn van der Merwe</maintainer>
<maintainerurl>https://dev.vdm.io</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
</updates>

View File

@ -31,6 +31,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Service\Library;
use VDM\Joomla\Componentbuilder\Compiler\Service\Customview;
use VDM\Joomla\Componentbuilder\Compiler\Service\Templatelayout;
use VDM\Joomla\Componentbuilder\Compiler\Service\Extension;
use VDM\Joomla\Componentbuilder\Service\CoreRules;
use VDM\Joomla\Componentbuilder\Compiler\Service\Field;
use VDM\Joomla\Componentbuilder\Compiler\Service\Joomlamodule;
use VDM\Joomla\Componentbuilder\Compiler\Service\Joomlaplugin;
@ -162,6 +163,7 @@ abstract class Factory implements FactoryInterface
->registerServiceProvider(new Customview())
->registerServiceProvider(new Templatelayout())
->registerServiceProvider(new Extension())
->registerServiceProvider(new CoreRules())
->registerServiceProvider(new Field())
->registerServiceProvider(new Joomlamodule())
->registerServiceProvider(new Joomlaplugin())

View File

@ -261,7 +261,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " build edit button";
$addButton[] = Indent::_(4)
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small hasTooltip\" title=\"'.Text:"
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small btn-outline-success button-select hasTooltip\" title=\"'.Text:"
. ":sprintf('" . $this->config->lang_prefix
. "_EDIT_S', \$button_label).'\" style=\"display: none; border-radius: 0px 4px 4px 0px;\" href=\"#\" >";
$addButton[] = Indent::_(5)

View File

@ -261,7 +261,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)
. " build edit button";
$addButton[] = Indent::_(4)
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small hasTooltip\" title=\"'.Text:"
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small btn-outline-success button-select hasTooltip\" title=\"'.Text:"
. ":sprintf('" . $this->config->lang_prefix
. "_EDIT_S', \$button_label).'\" style=\"display: none; border-radius: 0px 4px 4px 0px;\" href=\"#\" >";
$addButton[] = Indent::_(5)

View File

@ -263,7 +263,7 @@ final class InputButton implements InputButtonInterface
$addButton[] = Indent::_(4)
. "\$button[] = '<a id=\"'.\$button_code_name.'Edit\" class=\"btn btn-small hasTooltip\" title=\"'.Text:"
. ":sprintf('" . $this->config->lang_prefix
. "_EDIT_S', \$button_label).'\" style=\"display: none; padding: 4px 4px 4px 7px;\" href=\"#\" >";
. "_EDIT_S', \$button_label).'\" style=\"display: none; padding: 3px 4px 4px 7px;\" href=\"#\" >";
$addButton[] = Indent::_(5)
. "<span class=\"icon-edit\"></span></a>';";
$addButton[] = Indent::_(4) . "//" . Line::_(__Line__, __Class__)

View File

@ -25,9 +25,6 @@ use VDM\Joomla\Componentbuilder\Compiler\Field\UniqueName;
use VDM\Joomla\Componentbuilder\Compiler\Field\Rule;
use VDM\Joomla\Componentbuilder\Compiler\Field\Customcode;
use VDM\Joomla\Componentbuilder\Compiler\Field\DatabaseName;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreRule as J3CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreRule as J4CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreRule as J5CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreField as J3CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreField as J4CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreField as J5CoreField;
@ -35,7 +32,6 @@ use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\InputButton as J3Inpu
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\InputButton as J4InputButton;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\InputButton as J5InputButton;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreFieldInterface as CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreRuleInterface as CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\InputButtonInterface as InputButton;
@ -102,15 +98,6 @@ class Field implements ServiceProviderInterface
$container->alias(DatabaseName::class, 'Field.Database.Name')
->share('Field.Database.Name', [$this, 'getDatabaseName'], true);
$container->alias(J3CoreRule::class, 'J3.Field.Core.Rule')
->share('J3.Field.Core.Rule', [$this, 'getJ3CoreRule'], true);
$container->alias(J4CoreRule::class, 'J4.Field.Core.Rule')
->share('J4.Field.Core.Rule', [$this, 'getJ4CoreRule'], true);
$container->alias(J5CoreRule::class, 'J5.Field.Core.Rule')
->share('J5.Field.Core.Rule', [$this, 'getJ5CoreRule'], true);
$container->alias(J3CoreField::class, 'J3.Field.Core.Field')
->share('J3.Field.Core.Field', [$this, 'getJ3CoreField'], true);
@ -132,9 +119,6 @@ class Field implements ServiceProviderInterface
$container->alias(CoreField::class, 'Field.Core.Field')
->share('Field.Core.Field', [$this, 'getCoreField'], true);
$container->alias(CoreRule::class, 'Field.Core.Rule')
->share('Field.Core.Rule', [$this, 'getCoreRule'], true);
$container->alias(InputButton::class, 'Field.Input.Button')
->share('Field.Input.Button', [$this, 'getInputButton'], true);
}
@ -308,45 +292,6 @@ class Field implements ServiceProviderInterface
);
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J3CoreRule
* @since 3.2.0
*/
public function getJ3CoreRule(Container $container): J3CoreRule
{
return new J3CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J4CoreRule
* @since 3.2.0
*/
public function getJ4CoreRule(Container $container): J4CoreRule
{
return new J4CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J5CoreRule
* @since 3.2.0
*/
public function getJ5CoreRule(Container $container): J5CoreRule
{
return new J5CoreRule();
}
/**
* Get The CoreField Class.
*
@ -455,24 +400,6 @@ class Field implements ServiceProviderInterface
return $container->get('J' . $this->currentVersion . '.Field.Core.Field');
}
/**
* Get The CoreRuleInterface Class.
*
* @param Container $container The DI container.
*
* @return CoreRule
* @since 3.2.0
*/
public function getCoreRule(Container $container): CoreRule
{
if (empty($this->currentVersion))
{
$this->currentVersion = Version::MAJOR_VERSION;
}
return $container->get('J' . $this->currentVersion . '.Field.Core.Rule');
}
/**
* Get The InputButton Class.
*

View File

@ -0,0 +1,119 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 4th September, 2022
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Componentbuilder\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use Joomla\CMS\Version;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreRule as J3CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreRule as J4CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreRule as J5CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreRuleInterface as CoreRule;
/**
* Joomla Core Rules
*
* @since 3.2.0
*/
class CoreRules implements ServiceProviderInterface
{
/**
* Current Joomla Version We are IN
*
* @var int
* @since 3.2.0
**/
protected $currentVersion;
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
* @since 3.2.0
*/
public function register(Container $container)
{
$container->alias(J3CoreRule::class, 'J3.Field.Core.Rule')
->share('J3.Field.Core.Rule', [$this, 'getJ3CoreRule'], true);
$container->alias(J4CoreRule::class, 'J4.Field.Core.Rule')
->share('J4.Field.Core.Rule', [$this, 'getJ4CoreRule'], true);
$container->alias(J5CoreRule::class, 'J5.Field.Core.Rule')
->share('J5.Field.Core.Rule', [$this, 'getJ5CoreRule'], true);
$container->alias(CoreRule::class, 'Field.Core.Rule')
->share('Field.Core.Rule', [$this, 'getCoreRule'], true);
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J3CoreRule
* @since 3.2.0
*/
public function getJ3CoreRule(Container $container): J3CoreRule
{
return new J3CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J4CoreRule
* @since 3.2.0
*/
public function getJ4CoreRule(Container $container): J4CoreRule
{
return new J4CoreRule();
}
/**
* Get The CoreRule Class.
*
* @param Container $container The DI container.
*
* @return J5CoreRule
* @since 3.2.0
*/
public function getJ5CoreRule(Container $container): J5CoreRule
{
return new J5CoreRule();
}
/**
* Get The CoreRuleInterface Class.
*
* @param Container $container The DI container.
*
* @return CoreRule
* @since 3.2.0
*/
public function getCoreRule(Container $container): CoreRule
{
if (empty($this->currentVersion))
{
$this->currentVersion = Version::MAJOR_VERSION;
}
return $container->get('J' . $this->currentVersion . '.Field.Core.Rule');
}
}

View File

@ -9618,7 +9618,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">
<img src="components/com_componentbuilder/assets/images/vdm-component.jpg"/>
</a>
<h3>Upgrade to Version 3.2.0-beta9 Was Successful! Let us know if anything is not working as expected.</h3></div>';
<h3>Upgrade to Version 3.2.0-beta10 Was Successful! Let us know if anything is not working as expected.</h3></div>';
// Set db if not set already.
if (!isset($db))