update 2023-10-24 10:36:32

This commit is contained in:
Robot 2023-10-24 10:36:53 +02:00
parent 58b5a8621a
commit e208119c97
Signed by untrusted user: Robot
GPG Key ID: 14DECD44E7E1BB95
10 changed files with 373 additions and 211 deletions

View File

@ -12,7 +12,6 @@
namespace VDM\Joomla\Utilities\String; namespace VDM\Joomla\Utilities\String;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Joomla\Utilities\StringHelper; use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\Component\Helper; use VDM\Joomla\Utilities\Component\Helper;
@ -97,7 +96,6 @@ abstract class FieldHelper
// use the default (original behavior/convention) // use the default (original behavior/convention)
return StringHelper::safe($string); return StringHelper::safe($string);
} }
} }

View File

@ -71,4 +71,4 @@
// use the default (original behavior/convention) // use the default (original behavior/convention)
return StringHelper::safe($string); return StringHelper::safe($string);
} }

View File

@ -1,5 +1,5 @@
{ {
"add_head": "1", "add_head": "0",
"add_licensing_template": "2", "add_licensing_template": "2",
"extends": "0", "extends": "0",
"guid": "9ef0eb24-aae4-4f5a-99af-d724db44808f", "guid": "9ef0eb24-aae4-4f5a-99af-d724db44808f",
@ -22,6 +22,6 @@
"namespace": "VDM\\Joomla\\Utilities.String.FieldHelper", "namespace": "VDM\\Joomla\\Utilities.String.FieldHelper",
"description": "Control the naming of a field\r\n\r\n@since 3.0.9", "description": "Control the naming of a field\r\n\r\n@since 3.0.9",
"licensing_template": "\/**\r\n * @package Joomla.Component.Builder\r\n *\r\n * @created 3rd September, 2020\r\n * @author Llewellyn van der Merwe <https:\/\/dev.vdm.io>\r\n * @git Joomla Component Builder <https:\/\/git.vdm.dev\/joomla\/Component-Builder>\r\n * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.\r\n * @license GNU General Public License version 2 or later; see LICENSE.txt\r\n *\/\r\n", "licensing_template": "\/**\r\n * @package Joomla.Component.Builder\r\n *\r\n * @created 3rd September, 2020\r\n * @author Llewellyn van der Merwe <https:\/\/dev.vdm.io>\r\n * @git Joomla Component Builder <https:\/\/git.vdm.dev\/joomla\/Component-Builder>\r\n * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.\r\n * @license GNU General Public License version 2 or later; see LICENSE.txt\r\n *\/\r\n",
"head": "use Joomla\\CMS\\Component\\ComponentHelper;", "head": "",
"composer": "" "composer": ""
} }

View File

@ -65,7 +65,7 @@ abstract class TypeHelper
$string = StringHelper::transliterate($string); $string = StringHelper::transliterate($string);
// remove all and keep only characters and numbers and point (TODO just one point) // remove all and keep only characters and numbers and point (TODO just one point)
$string = trim(preg_replace("/[^A-Za-z0-9\.]/", '', (string) $string)); $string = trim(preg_replace("/[^A-Za-z0-9_\.]/", '', (string) $string));
// best is to return lower (for all string equality in compiler) // best is to return lower (for all string equality in compiler)
return strtolower($string); return strtolower($string);

View File

@ -39,7 +39,7 @@
$string = StringHelper::transliterate($string); $string = StringHelper::transliterate($string);
// remove all and keep only characters and numbers and point (TODO just one point) // remove all and keep only characters and numbers and point (TODO just one point)
$string = trim(preg_replace("/[^A-Za-z0-9\.]/", '', (string) $string)); $string = trim(preg_replace("/[^A-Za-z0-9_\.]/", '', (string) $string));
// best is to return lower (for all string equality in compiler) // best is to return lower (for all string equality in compiler)
return strtolower($string); return strtolower($string);

View File

@ -67,51 +67,6 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'php_helper_both' => [
'name' => 'php_helper_both',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_BOTH_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Libs & Helpers',
],
'created' => [
'name' => 'created',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_LABEL',
'type' => 'calendar',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'publishing',
],
'crowdin_project_identifier' => [
'name' => 'crowdin_project_identifier',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'php_method_uninstall' => [
'name' => 'php_method_uninstall',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Dash & Install',
],
'php_preflight_install' => [
'name' => 'php_preflight_install',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Dash & Install',
],
'css_admin' => [ 'css_admin' => [
'name' => 'css_admin', 'name' => 'css_admin',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_ADMIN_LABEL',
@ -121,33 +76,6 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64', 'store' => 'base64',
'tab_name' => 'Libs & Helpers', 'tab_name' => 'Libs & Helpers',
], ],
'mvc_versiondate' => [
'name' => 'mvc_versiondate',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MVC_VERSIONDATE_LABEL',
'type' => 'list',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'remove_line_breaks' => [
'name' => 'remove_line_breaks',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL',
'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'add_placeholders' => [
'name' => 'add_placeholders',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PLACEHOLDERS_LABEL',
'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'php_admin_event' => [ 'php_admin_event' => [
'name' => 'php_admin_event', 'name' => 'php_admin_event',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL',
@ -166,18 +94,18 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64', 'store' => 'base64',
'tab_name' => 'Libs & Helpers', 'tab_name' => 'Libs & Helpers',
], ],
'description' => [ 'crowdin_username' => [
'name' => 'description', 'name' => 'crowdin_username',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_LABEL',
'type' => 'textarea', 'type' => 'text',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => 'basic_encryption',
'tab_name' => 'Details', 'tab_name' => 'Dynamic Integration',
], ],
'author' => [ 'component_version' => [
'name' => 'author', 'name' => 'component_version',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_LABEL',
'type' => 'text', 'type' => 'text',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
@ -193,10 +121,19 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64', 'store' => 'base64',
'tab_name' => 'Dash & Install', 'tab_name' => 'Dash & Install',
], ],
'email' => [ 'remove_line_breaks' => [
'name' => 'email', 'name' => 'remove_line_breaks',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL',
'type' => 'text', 'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'description' => [
'name' => 'description',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_LABEL',
'type' => 'textarea',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => NULL,
@ -211,6 +148,96 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64', 'store' => 'base64',
'tab_name' => 'MySQL', 'tab_name' => 'MySQL',
], ],
'debug_linenr' => [
'name' => 'debug_linenr',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL',
'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'mvc_versiondate' => [
'name' => 'mvc_versiondate',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MVC_VERSIONDATE_LABEL',
'type' => 'list',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'php_preflight_install' => [
'name' => 'php_preflight_install',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Dash & Install',
],
'backup_folder_path' => [
'name' => 'backup_folder_path',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_FOLDER_PATH_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'php_method_uninstall' => [
'name' => 'php_method_uninstall',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Dash & Install',
],
'add_placeholders' => [
'name' => 'add_placeholders',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PLACEHOLDERS_LABEL',
'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'author' => [
'name' => 'author',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'add_sales_server' => [
'name' => 'add_sales_server',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SALES_SERVER_LABEL',
'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'email' => [
'name' => 'email',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'translation_tool' => [
'name' => 'translation_tool',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_TRANSLATION_TOOL_LABEL',
'type' => 'list',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'website' => [ 'website' => [
'name' => 'website', 'name' => 'website',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_LABEL',
@ -220,14 +247,14 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'debug_linenr' => [ 'buildcompsql' => [
'name' => 'debug_linenr', 'name' => 'buildcompsql',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL',
'type' => 'radio', 'type' => 'textarea',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => 'base64',
'tab_name' => 'Details', 'tab_name' => 'Dynamic Build (beta)',
], ],
'add_license' => [ 'add_license' => [
'name' => 'add_license', 'name' => 'add_license',
@ -238,6 +265,15 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'php_helper_admin' => [
'name' => 'php_helper_admin',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Libs & Helpers',
],
'license_type' => [ 'license_type' => [
'name' => 'license_type', 'name' => 'license_type',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL',
@ -247,18 +283,18 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'add_email_helper' => [ 'php_helper_site' => [
'name' => 'add_email_helper', 'name' => 'php_helper_site',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_LABEL',
'type' => 'radio', 'type' => 'editor',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => 'base64',
'tab_name' => 'Libs & Helpers', 'tab_name' => 'Libs & Helpers',
], ],
'php_helper_admin' => [ 'javascript' => [
'name' => 'php_helper_admin', 'name' => 'javascript',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL',
'type' => 'editor', 'type' => 'editor',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
@ -274,9 +310,9 @@ class Table extends BaseTable implements Tableinterface
'store' => 'basic_encryption', 'store' => 'basic_encryption',
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'php_helper_site' => [ 'css_site' => [
'name' => 'php_helper_site', 'name' => 'css_site',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL',
'type' => 'editor', 'type' => 'editor',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
@ -292,15 +328,6 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'javascript' => [
'name' => 'javascript',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Libs & Helpers',
],
'whmcs_buy_link' => [ 'whmcs_buy_link' => [
'name' => 'whmcs_buy_link', 'name' => 'whmcs_buy_link',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_LABEL',
@ -310,33 +337,6 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'css_site' => [
'name' => 'css_site',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Libs & Helpers',
],
'license' => [
'name' => 'license',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_LABEL',
'type' => 'textarea',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'bom' => [
'name' => 'bom',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_LABEL',
'type' => 'filelist',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'php_preflight_update' => [ 'php_preflight_update' => [
'name' => 'php_preflight_update', 'name' => 'php_preflight_update',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL',
@ -346,10 +346,10 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64', 'store' => 'base64',
'tab_name' => 'Dash & Install', 'tab_name' => 'Dash & Install',
], ],
'image' => [ 'license' => [
'name' => 'image', 'name' => 'license',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_LABEL',
'type' => 'media', 'type' => 'textarea',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => NULL,
@ -364,10 +364,10 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64', 'store' => 'base64',
'tab_name' => 'Dash & Install', 'tab_name' => 'Dash & Install',
], ],
'copyright' => [ 'bom' => [
'name' => 'copyright', 'name' => 'bom',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_LABEL',
'type' => 'textarea', 'type' => 'filelist',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => NULL,
@ -382,6 +382,15 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64', 'store' => 'base64',
'tab_name' => 'MySQL', 'tab_name' => 'MySQL',
], ],
'image' => [
'name' => 'image',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL',
'type' => 'media',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'addreadme' => [ 'addreadme' => [
'name' => 'addreadme', 'name' => 'addreadme',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDREADME_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDREADME_LABEL',
@ -391,14 +400,14 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Readme', 'tab_name' => 'Readme',
], ],
'add_sales_server' => [ 'copyright' => [
'name' => 'add_sales_server', 'name' => 'copyright',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SALES_SERVER_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL',
'type' => 'radio', 'type' => 'textarea',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => NULL,
'tab_name' => 'Dynamic Integration', 'tab_name' => 'Details',
], ],
'update_server_url' => [ 'update_server_url' => [
'name' => 'update_server_url', 'name' => 'update_server_url',
@ -409,15 +418,6 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Dynamic Integration', 'tab_name' => 'Dynamic Integration',
], ],
'component_version' => [
'name' => 'component_version',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPONENT_VERSION_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
'add_powers' => [ 'add_powers' => [
'name' => 'add_powers', 'name' => 'add_powers',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_POWERS_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_POWERS_LABEL',
@ -427,41 +427,32 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Details', 'tab_name' => 'Details',
], ],
'translation_tool' => [ 'add_backup_folder_path' => [
'name' => 'translation_tool', 'name' => 'add_backup_folder_path',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_TRANSLATION_TOOL_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_BACKUP_FOLDER_PATH_LABEL',
'type' => 'list',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'crowdin_username' => [
'name' => 'crowdin_username',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_USERNAME_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => 'basic_encryption',
'tab_name' => 'Dynamic Integration',
],
'buildcompsql' => [
'name' => 'buildcompsql',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL',
'type' => 'textarea',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Dynamic Build (beta)',
],
'add_php_helper_both' => [
'name' => 'add_php_helper_both',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH_LABEL',
'type' => 'radio', 'type' => 'radio',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => NULL,
'tab_name' => 'Libs & Helpers', 'tab_name' => 'Dynamic Integration',
],
'crowdin_project_identifier' => [
'name' => 'crowdin_project_identifier',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_IDENTIFIER_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'created' => [
'name' => 'created',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATED_LABEL',
'type' => 'calendar',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'publishing',
], ],
'add_php_helper_admin' => [ 'add_php_helper_admin' => [
'name' => 'add_php_helper_admin', 'name' => 'add_php_helper_admin',
@ -742,6 +733,42 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Dynamic Integration', 'tab_name' => 'Dynamic Integration',
], ],
'add_git_folder_path' => [
'name' => 'add_git_folder_path',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_GIT_FOLDER_PATH_LABEL',
'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'git_folder_path' => [
'name' => 'git_folder_path',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GIT_FOLDER_PATH_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
'creatuserhelper' => [
'name' => 'creatuserhelper',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATUSERHELPER_LABEL',
'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Libs & Helpers',
],
'adduikit' => [
'name' => 'adduikit',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDUIKIT_LABEL',
'type' => 'list',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Libs & Helpers',
],
'crowdin_project_api_key' => [ 'crowdin_project_api_key' => [
'name' => 'crowdin_project_api_key', 'name' => 'crowdin_project_api_key',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_PROJECT_API_KEY_LABEL',
@ -751,6 +778,15 @@ class Table extends BaseTable implements Tableinterface
'store' => 'basic_encryption', 'store' => 'basic_encryption',
'tab_name' => 'Dynamic Integration', 'tab_name' => 'Dynamic Integration',
], ],
'addfootable' => [
'name' => 'addfootable',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDFOOTABLE_LABEL',
'type' => 'list',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Libs & Helpers',
],
'crowdin_account_api_key' => [ 'crowdin_account_api_key' => [
'name' => 'crowdin_account_api_key', 'name' => 'crowdin_account_api_key',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN_ACCOUNT_API_KEY_LABEL',
@ -760,9 +796,9 @@ class Table extends BaseTable implements Tableinterface
'store' => 'basic_encryption', 'store' => 'basic_encryption',
'tab_name' => 'Dynamic Integration', 'tab_name' => 'Dynamic Integration',
], ],
'creatuserhelper' => [ 'add_email_helper' => [
'name' => 'creatuserhelper', 'name' => 'add_email_helper',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATUSERHELPER_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL',
'type' => 'radio', 'type' => 'radio',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
@ -778,10 +814,10 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'Dynamic Build (beta)', 'tab_name' => 'Dynamic Build (beta)',
], ],
'adduikit' => [ 'add_php_helper_both' => [
'name' => 'adduikit', 'name' => 'add_php_helper_both',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDUIKIT_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH_LABEL',
'type' => 'list', 'type' => 'radio',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => NULL,
@ -796,13 +832,13 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL, 'store' => NULL,
'tab_name' => 'publishing', 'tab_name' => 'publishing',
], ],
'addfootable' => [ 'php_helper_both' => [
'name' => 'addfootable', 'name' => 'php_helper_both',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDFOOTABLE_LABEL', 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_BOTH_LABEL',
'type' => 'list', 'type' => 'editor',
'title' => false, 'title' => false,
'list' => 'joomla_components', 'list' => 'joomla_components',
'store' => NULL, 'store' => 'base64',
'tab_name' => 'Libs & Helpers', 'tab_name' => 'Libs & Helpers',
], ],
'modified' => [ 'modified' => [

View File

@ -0,0 +1,37 @@
```
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# trait IsArray (Details)
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
```uml
@startuml
class IsArray << (T,Orange) >> #Turquoise {
+ isArray(string $path) : bool
}
note right of IsArray::isArray
Check if a path is an array
since: 3.2.0
return: bool
end note
@enduml
```
---
```
██╗ ██████╗██████╗
██║██╔════╝██╔══██╗
██║██║ ██████╔╝
██ ██║██║ ██╔══██╗
╚█████╔╝╚██████╗██████╔╝
╚════╝ ╚═════╝╚═════╝
```
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)

View File

@ -0,0 +1,48 @@
<?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\Abstraction\Registry\Traits;
/**
* Check if a value is in an array
*
* @since 3.2.0
*/
trait IsArray
{
/**
* Check if a path is an array
*
* @param string $path Registry path (e.g. joomla.content.showauthor)
*
* @return bool
* @since 3.2.0
*/
public function isArray(string $path): bool
{
// Check base array if no path is given
if (empty($path))
{
return false;
}
// get the value
if (($node = $this->get($path)) !== null
&& is_array($node))
{
return true;
}
return false;
}
}

View File

@ -0,0 +1,25 @@
/**
* Check if a path is an array
*
* @param string $path Registry path (e.g. joomla.content.showauthor)
*
* @return bool
* @since 3.2.0
*/
public function isArray(string $path): bool
{
// Check base array if no path is given
if (empty($path))
{
return false;
}
// get the value
if (($node = $this->get($path)) !== null
&& is_array($node))
{
return true;
}
return false;
}

View File

@ -0,0 +1,18 @@
{
"add_head": "0",
"add_licensing_template": "2",
"extends": "0",
"guid": "c09e8968-c767-4175-bb3d-8432f206a2c7",
"implements": null,
"load_selection": null,
"name": "IsArray",
"power_version": "1.0.0",
"system_name": "VDM.Abstraction.Registry.Traits.IsArray",
"type": "trait",
"use_selection": null,
"namespace": "VDM\\Joomla\\Abstraction.Registry.Traits.IsArray",
"description": "Check if a value is in an array\r\n\r\n@since 3.2.0",
"licensing_template": "\/**\r\n * @package Joomla.Component.Builder\r\n *\r\n * @created 4th September, 2022\r\n * @author Llewellyn van der Merwe <https:\/\/dev.vdm.io>\r\n * @git Joomla Component Builder <https:\/\/git.vdm.dev\/joomla\/Component-Builder>\r\n * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.\r\n * @license GNU General Public License version 2 or later; see LICENSE.txt\r\n *\/\r\n",
"head": "",
"composer": ""
}