Stable release of v3.2.0-beta4

Add Preferred Joomla Version to Components.
This commit is contained in:
Robot 2024-03-07 21:23:32 +02:00
parent 0b0568299c
commit 5675f186cd
Signed by: Robot
GPG Key ID: 14DECD44E7E1BB95
64 changed files with 4242 additions and 433 deletions

View File

@ -1,3 +1,7 @@
# v3.2.0-beta4
- Add Preferred Joomla Version to Components
# v3.2.0-beta3
- Move the old helper compiler files to powers
@ -8,11 +12,11 @@
- Move beta to main repo
- Fix #1053 so that the right and left tabs display correctly in Joomla 4&5
# v3.1.42-beta
# v3.1.42
- Fix #1055 to add the style and scripts to all views.
# v3.1.40-beta
# v3.1.40
- Fix #1052 so that tabs last opened is remembered and opened again on save, refresh or reopening of an item.
- Fix #1057 so that the datetime fields will be set correctly in mysql.

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-beta3) 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-beta4) 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,14 +144,14 @@ 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*: 6th March, 2024
+ *Version*: 3.2.0-beta3
+ *Last Build*: 7th March, 2024
+ *Version*: 3.2.0-beta4
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **729192**
+ *Field count*: **2077**
+ *File count*: **5132**
+ *Folder count*: **455**
+ *Line count*: **741812**
+ *Field count*: **2078**
+ *File count*: **5204**
+ *Folder count*: **462**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)

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-beta3) 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-beta4) 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,14 +144,14 @@ 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*: 6th March, 2024
+ *Version*: 3.2.0-beta3
+ *Last Build*: 7th March, 2024
+ *Version*: 3.2.0-beta4
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **729192**
+ *Field count*: **2077**
+ *File count*: **5132**
+ *Folder count*: **455**
+ *Line count*: **741812**
+ *Field count*: **2078**
+ *File count*: **5204**
+ *Folder count*: **462**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)

View File

@ -371,7 +371,8 @@ class ComponentbuilderControllerJoomla_component extends FormController
'component_dashboard' => 'joomla_component',
'component_files_folders' => 'joomla_component',
'component_placeholders' => 'joomla_component',
'custom_code' => 'component'
'custom_code' => 'component',
'component_router' => 'joomla_component'
);
foreach($_tablesArray as $_updateTable => $_key)
{

View File

@ -5899,6 +5899,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_DESCRIPTION="PHP scri
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL="PHP Preflight (update)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_DESCRIPTION="PHP script for the global helper site event method."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL="Global Helper Site Event (method)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PREFERRED_JOOMLA_VERSION_LABEL="Preferred Joomla Version"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README="Readme"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL="README.md"
@ -5979,7 +5980,8 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_MESSAGE="Error! Please add websi
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES="Yes"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ZIP="ZIP"
COM_COMPONENTBUILDER_JOOMLA_FIELDS="Joomla fields"
COM_COMPONENTBUILDER_JOOMLA_FOUR_AND_FIVE="Joomla 4 and 5"
COM_COMPONENTBUILDER_JOOMLA_FIVE="Joomla 5"
COM_COMPONENTBUILDER_JOOMLA_FOUR="Joomla 4"
COM_COMPONENTBUILDER_JOOMLA_MODULE="Joomla Module"
COM_COMPONENTBUILDER_JOOMLA_MODULES="Joomla Modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS="Joomla Modules Access"
@ -9184,7 +9186,8 @@ COM_COMPONENTBUILDER_YES="Yes"
COM_COMPONENTBUILDER_YES_UPDATE_ALL="Yes! Update ALL"
COM_COMPONENTBUILDER_YOUR_ARE_ABOUT_TO_UPDATE_BALLB_VALUES_THAT_CAN_BE_FOUND_IN_THE_DATABASE="Your are about to update <b>ALL</b> values that can be found in the database."
COM_COMPONENTBUILDER_YOUR_ARE_ABOUT_TO_UPDATE_ROW="Your are about to update row"
COM_COMPONENTBUILDER_YOUR_COMPONENT_WILL_BE_COMPILED_TO_WORK_IN_JOOMLA_FOUR_AND_JOOMLA_FIVE="Your component will be compiled to work in Joomla 4 and Joomla 5"
COM_COMPONENTBUILDER_YOUR_COMPONENT_WILL_BE_COMPILED_TO_WORK_IN_JOOMLA_FIVE="Your component will be compiled to work in Joomla 5"
COM_COMPONENTBUILDER_YOUR_COMPONENT_WILL_BE_COMPILED_TO_WORK_IN_JOOMLA_FOUR="Your component will be compiled to work in Joomla 4"
COM_COMPONENTBUILDER_YOUR_COMPONENT_WILL_BE_COMPILED_TO_WORK_IN_JOOMLA_THREE="Your component will be compiled to work in Joomla 3"
COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_TWO_HUNDRED_AND_FIFTY_SIX_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEY="Your data is encrypted with a AES 256 bit encryption using the above 32 character key."
COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASHED_ITEMS="You are currently viewing the trashed items."

View File

@ -27,6 +27,7 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'system_name',
'preferred_joomla_version',
'add_powers'
);

View File

@ -108,7 +108,7 @@ class ComponentbuilderModelAjax extends ListModel
$query = $db->getQuery(true)
->select($db->quoteName(array(
'id','companyname','component_version','copyright','debug_linenr',
'description','email','image','license','name',
'description','email','image','license','name','preferred_joomla_version',
'short_description','website','author','add_placeholders',
'system_name','mvc_versiondate')))
->from($db->quoteName('#__componentbuilder_joomla_component'))
@ -117,7 +117,9 @@ class ComponentbuilderModelAjax extends ListModel
$db->execute();
if ($db->loadRowList())
{
return ['html' => $this->componentDetailsDisplay($db->loadObject())];
$object = $db->loadObject();
return ['html' => $this->componentDetailsDisplay($object), 'preferred_joomla_version' => $object->preferred_joomla_version ?? 0];
}
return false;
}

View File

@ -157,36 +157,18 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME_HINT"
/>
<!-- Debug_linenr Field. Type: Radio. (joomla) -->
<!-- Buildcompsql Field. Type: Textarea. (joomla) -->
<field
type="radio"
name="debug_linenr"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Php_site_event Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_site_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_DESCRIPTION"
width="100%"
height="450px"
cols="15"
type="textarea"
name="buildcompsql"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_DESCRIPTION"
class="text_area span12"
filter="raw"
validate="code"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_HINT"
required="true"
/>
<!-- Translation_tool Field. Type: List. (joomla) -->
<field
@ -202,21 +184,6 @@
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CROWDIN</option>
</field>
<!-- Buildcompsql Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="buildcompsql"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_HINT"
required="true"
/>
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
<!-- Add_sales_server Field. Type: Radio. (joomla) -->
<field
type="radio"
@ -231,22 +198,8 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Php_preflight_install Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_preflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
<!-- Php_method_uninstall Field. Type: Editor. (joomla) -->
<field
type="editor"
@ -263,8 +216,22 @@
filter="raw"
validate="code"
/>
<!-- Note_version_options_3 Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_version_options_3" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_3_DESCRIPTION" class="alert alert-info note_version_options_3" showon="mvc_versiondate:3" />
<!-- Php_preflight_install Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_preflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Css_admin Field. Type: Editor. (joomla) -->
<field
type="editor"
@ -281,6 +248,8 @@
filter="raw"
validate="code"
/>
<!-- Note_version_options_3 Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_version_options_3" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_3_DESCRIPTION" class="alert alert-info note_version_options_3" showon="mvc_versiondate:3" />
<!-- Note_version_options_2 Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_version_options_2" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_VERSION_OPTIONS_2_DESCRIPTION" class="alert alert-info note_version_options_2" showon="mvc_versiondate:2" />
<!-- Note_version_options_1 Field. Type: Note. A None Database Field. (joomla) -->
@ -336,8 +305,37 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Note_dynamic_dashboard Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_dynamic_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_dynamic_dashboard" />
<!-- Debug_linenr Field. Type: Radio. (joomla) -->
<field
type="radio"
name="debug_linenr"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Php_site_event Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_site_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Description Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -350,6 +348,24 @@
filter="HTML"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_HINT"
/>
<!-- Note_dynamic_dashboard Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_dynamic_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_DYNAMIC_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_dynamic_dashboard" />
<!-- Author Field. Type: Text. (joomla) -->
<field
type="text"
name="author"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL"
size="10"
maxlength="120"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="HTML"
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT"
/>
<!-- Php_postflight_install Field. Type: Editor. (joomla) -->
<field
type="editor"
@ -366,35 +382,6 @@
filter="raw"
validate="code"
/>
<!-- Author Field. Type: Text. (joomla) -->
<field
type="text"
name="author"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL"
size="10"
maxlength="120"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="HTML"
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT"
/>
<!-- Sql_uninstall Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="sql_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_HINT"
required="true"
/>
<!-- Email Field. Type: Text. (joomla) -->
<field
type="text"
@ -410,8 +397,19 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_HINT"
/>
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
<!-- Sql_uninstall Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="sql_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_UNINSTALL_HINT"
required="true"
/>
<!-- Website Field. Type: Url. (joomla) -->
<field
type="url"
@ -428,6 +426,23 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_HINT"
/>
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
<!-- Add_license Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_license"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Backup_folder_path Field. Type: Text. (joomla) -->
<field
type="text"
@ -492,20 +507,26 @@
filter="raw"
validate="code"
/>
<!-- Add_license Field. Type: Radio. (joomla) -->
<!-- License_type Field. Type: List. (joomla) -->
<field
type="radio"
name="add_license"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
required="true">
type="list"
name="license_type"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_DESCRIPTION"
class="list_class"
multiple="false"
filter="int"
required="true"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_ENCRYPTION_ONLY_TO_LOCK_DATAFIELDS</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATES_NOT_READY</option>
<option value="3">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LOCK_DOWN_USE_USED_TO_VERIFY_OWNERSHIP</option>
<option value="4">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CUSTOM_USED_IN_CUSTOM_CODE</option>
</field>
<!-- Component_version Field. Type: Text. (joomla) -->
<field
@ -538,27 +559,8 @@
filter="raw"
validate="code"
/>
<!-- License_type Field. Type: List. (joomla) -->
<field
type="list"
name="license_type"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_DESCRIPTION"
class="list_class"
multiple="false"
filter="int"
required="true"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_ENCRYPTION_ONLY_TO_LOCK_DATAFIELDS</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATES_NOT_READY</option>
<option value="3">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LOCK_DOWN_USE_USED_TO_VERIFY_OWNERSHIP</option>
<option value="4">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CUSTOM_USED_IN_CUSTOM_CODE</option>
</field>
<!-- Note_whmcs_lisencing_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_whmcs_lisencing_note" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_DESCRIPTION" heading="h4" class="alert alert-success note_whmcs_lisencing_note" />
<!-- Php_helper_site Field. Type: Editor. (joomla) -->
<field
type="editor"
@ -575,24 +577,6 @@
filter="raw"
validate="code"
/>
<!-- Note_whmcs_lisencing_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_whmcs_lisencing_note" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_DESCRIPTION" heading="h4" class="alert alert-success note_whmcs_lisencing_note" />
<!-- Javascript Field. Type: Editor. (joomla) -->
<field
type="editor"
name="javascript"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="javascript"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Whmcs_key Field. Type: Text. (joomla) -->
<field
type="text"
@ -606,18 +590,18 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_HINT"
/>
<!-- Css_site Field. Type: Editor. (joomla) -->
<!-- Javascript Field. Type: Editor. (joomla) -->
<field
type="editor"
name="css_site"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_DESCRIPTION"
name="javascript"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="css"
syntax="javascript"
editor="codemirror|none"
filter="raw"
validate="code"
@ -637,8 +621,22 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_HINT"
/>
<!-- Note_botton_component_dashboard Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_botton_component_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_botton_component_dashboard" />
<!-- Css_site Field. Type: Editor. (joomla) -->
<field
type="editor"
name="css_site"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="css"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Whmcs_buy_link Field. Type: Url. (joomla) -->
<field
type="url"
@ -654,22 +652,8 @@
message="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_HINT"
/>
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_preflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Note_botton_component_dashboard Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_botton_component_dashboard" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BOTTON_COMPONENT_DASHBOARD_DESCRIPTION" heading="h4" class="alert alert-info note_botton_component_dashboard" />
<!-- License Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -684,12 +668,12 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_HINT"
required="true"
/>
<!-- Php_postflight_update Field. Type: Editor. (joomla) -->
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_DESCRIPTION"
name="php_preflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_DESCRIPTION"
width="100%"
height="450px"
cols="15"
@ -712,6 +696,30 @@
hide_none="true"
hide_default="true"
/>
<!-- Php_postflight_update Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Image Field. Type: Media. (joomla) -->
<field
type="media"
name="image"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION"
directory=""
/>
<!-- Sql Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -725,13 +733,19 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT"
required="true"
/>
<!-- Image Field. Type: Media. (joomla) -->
<!-- Copyright Field. Type: Textarea. (joomla) -->
<field
type="media"
name="image"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION"
directory=""
type="textarea"
name="copyright"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL"
rows="7"
cols="10"
default="Copyright (C) 2015. All Rights Reserved"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_DESCRIPTION"
class="text_area span12"
filter="SAFEHTML"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT"
required="true"
/>
<!-- Addreadme Field. Type: Radio. (joomla) -->
<field
@ -746,19 +760,16 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Copyright Field. Type: Textarea. (joomla) -->
<!-- Preferred_joomla_version Field. Type: Number. (joomla) -->
<field
type="textarea"
name="copyright"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL"
rows="7"
cols="10"
default="Copyright (C) 2015. All Rights Reserved"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_DESCRIPTION"
class="text_area span12"
filter="SAFEHTML"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT"
required="true"
type="number"
name="preferred_joomla_version"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PREFERRED_JOOMLA_VERSION_LABEL"
default="3"
class="text_area"
min="3"
max="5"
step="1"
/>
<!-- Update_server_url Field. Type: Url. (joomla) -->
<field

View File

@ -76,34 +76,18 @@ class ComponentbuilderModelJoomla_component extends AdminModel
),
'above' => array(
'system_name',
'preferred_joomla_version',
'add_powers'
),
'under' => array(
'not_required'
)
),
'libs_helpers' => array(
'dynamic_build_beta' => array(
'fullwidth' => array(
'creatuserhelper',
'adduikit',
'addfootable',
'add_email_helper',
'add_php_helper_both',
'php_helper_both',
'add_php_helper_admin',
'php_helper_admin',
'add_admin_event',
'php_admin_event',
'add_php_helper_site',
'php_helper_site',
'add_site_event',
'php_site_event',
'add_javascript',
'javascript',
'add_css_admin',
'css_admin',
'add_css_site',
'css_site'
'note_buildcomp_dynamic_mysql',
'buildcomp',
'buildcompsql'
)
),
'dynamic_integration' => array(
@ -133,13 +117,6 @@ class ComponentbuilderModelJoomla_component extends AdminModel
'crowdin_account_api_key'
)
),
'dynamic_build_beta' => array(
'fullwidth' => array(
'note_buildcomp_dynamic_mysql',
'buildcomp',
'buildcompsql'
)
),
'readme' => array(
'left' => array(
'addreadme',
@ -171,6 +148,30 @@ class ComponentbuilderModelJoomla_component extends AdminModel
'php_method_uninstall'
)
),
'libs_helpers' => array(
'fullwidth' => array(
'creatuserhelper',
'adduikit',
'addfootable',
'add_email_helper',
'add_php_helper_both',
'php_helper_both',
'add_php_helper_admin',
'php_helper_admin',
'add_admin_event',
'php_admin_event',
'add_php_helper_site',
'php_helper_site',
'add_site_event',
'php_site_event',
'add_javascript',
'javascript',
'add_css_admin',
'css_admin',
'add_css_site',
'css_site'
)
),
'mysql' => array(
'fullwidth' => array(
'add_sql',
@ -365,36 +366,36 @@ class ComponentbuilderModelJoomla_component extends AdminModel
$item->metadata = $registry->toArray();
}
if (!empty($item->php_site_event))
{
// base64 Decode php_site_event.
$item->php_site_event = base64_decode($item->php_site_event);
}
if (!empty($item->buildcompsql))
{
// base64 Decode buildcompsql.
$item->buildcompsql = base64_decode($item->buildcompsql);
}
if (!empty($item->php_preflight_install))
{
// base64 Decode php_preflight_install.
$item->php_preflight_install = base64_decode($item->php_preflight_install);
}
if (!empty($item->php_method_uninstall))
{
// base64 Decode php_method_uninstall.
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
}
if (!empty($item->php_preflight_install))
{
// base64 Decode php_preflight_install.
$item->php_preflight_install = base64_decode($item->php_preflight_install);
}
if (!empty($item->css_admin))
{
// base64 Decode css_admin.
$item->css_admin = base64_decode($item->css_admin);
}
if (!empty($item->php_site_event))
{
// base64 Decode php_site_event.
$item->php_site_event = base64_decode($item->php_site_event);
}
if (!empty($item->php_postflight_install))
{
// base64 Decode php_postflight_install.
@ -1430,36 +1431,36 @@ class ComponentbuilderModelJoomla_component extends AdminModel
$data['addcontributors'] = '';
}
// Set the php_site_event string to base64 string.
if (isset($data['php_site_event']))
{
$data['php_site_event'] = base64_encode($data['php_site_event']);
}
// Set the buildcompsql string to base64 string.
if (isset($data['buildcompsql']))
{
$data['buildcompsql'] = base64_encode($data['buildcompsql']);
}
// Set the php_preflight_install string to base64 string.
if (isset($data['php_preflight_install']))
{
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
}
// Set the php_method_uninstall string to base64 string.
if (isset($data['php_method_uninstall']))
{
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
}
// Set the php_preflight_install string to base64 string.
if (isset($data['php_preflight_install']))
{
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
}
// Set the css_admin string to base64 string.
if (isset($data['css_admin']))
{
$data['css_admin'] = base64_encode($data['css_admin']);
}
// Set the php_site_event string to base64 string.
if (isset($data['php_site_event']))
{
$data['php_site_event'] = base64_encode($data['php_site_event']);
}
// Set the php_postflight_install string to base64 string.
if (isset($data['php_postflight_install']))
{

View File

@ -2694,16 +2694,16 @@ class ComponentbuilderModelJoomla_components extends ListModel
continue;
}
// decode php_site_event
$item->php_site_event = base64_decode($item->php_site_event);
// decode buildcompsql
$item->buildcompsql = base64_decode($item->buildcompsql);
// decode php_preflight_install
$item->php_preflight_install = base64_decode($item->php_preflight_install);
// decode php_method_uninstall
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
// decode php_preflight_install
$item->php_preflight_install = base64_decode($item->php_preflight_install);
// decode css_admin
$item->css_admin = base64_decode($item->css_admin);
// decode php_site_event
$item->php_site_event = base64_decode($item->php_site_event);
// decode php_postflight_install
$item->php_postflight_install = base64_decode($item->php_postflight_install);
// decode sql_uninstall
@ -2721,13 +2721,13 @@ class ComponentbuilderModelJoomla_components extends ListModel
$item->php_helper_admin = base64_decode($item->php_helper_admin);
// decode php_helper_site
$item->php_helper_site = base64_decode($item->php_helper_site);
// decode javascript
$item->javascript = base64_decode($item->javascript);
if ($basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true)))
{
// decrypt whmcs_key
$item->whmcs_key = $basic->decryptString($item->whmcs_key);
}
// decode javascript
$item->javascript = base64_decode($item->javascript);
// decode css_site
$item->css_site = base64_decode($item->css_site);
// decode php_preflight_update

View File

@ -50,7 +50,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
`dashboard` VARCHAR(64) NOT NULL DEFAULT '',
`dashboard_type` TINYINT(1) NOT NULL DEFAULT 1,
`debug_linenr` TINYINT(1) NOT NULL DEFAULT 0,
`description` TEXT NOT NULL,
`description` TEXT NULL,
`email` VARCHAR(255) NOT NULL DEFAULT '',
`emptycontributors` TINYINT(1) NOT NULL DEFAULT 0,
`export_buy_link` VARCHAR(255) NOT NULL DEFAULT '',
@ -79,6 +79,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
`php_preflight_install` MEDIUMTEXT NOT NULL,
`php_preflight_update` MEDIUMTEXT NOT NULL,
`php_site_event` MEDIUMTEXT NOT NULL,
`preferred_joomla_version` INT(11) NOT NULL DEFAULT 3,
`readme` TEXT NOT NULL,
`remove_line_breaks` TINYINT(1) NOT NULL DEFAULT 0,
`sales_server` INT(11) NOT NULL DEFAULT 0,
@ -111,12 +112,12 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
PRIMARY KEY (`id`),
KEY `idx_system_name` (`system_name`),
KEY `idx_name_code` (`name_code`),
KEY `idx_debug_linenr` (`debug_linenr`),
KEY `idx_translation_tool` (`translation_tool`),
KEY `idx_add_sales_server` (`add_sales_server`),
KEY `idx_mvc_versiondate` (`mvc_versiondate`),
KEY `idx_remove_line_breaks` (`remove_line_breaks`),
KEY `idx_add_placeholders` (`add_placeholders`),
KEY `idx_debug_linenr` (`debug_linenr`),
KEY `idx_add_license` (`add_license`),
KEY `idx_license_type` (`license_type`),
KEY `idx_addreadme` (`addreadme`),
@ -179,7 +180,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_module` (
`class_helper_header` TEXT NOT NULL,
`custom_get` TEXT NOT NULL,
`default` MEDIUMTEXT NOT NULL,
`description` TEXT NOT NULL,
`description` TEXT NULL,
`fields` TEXT NOT NULL,
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`libraries` TEXT NOT NULL,
@ -256,10 +257,10 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_plugin` (
`add_update_server` TINYINT(1) NOT NULL DEFAULT 0,
`addreadme` TINYINT(1) NOT NULL DEFAULT 0,
`class_extends` INT(11) NOT NULL DEFAULT 0,
`description` TEXT NOT NULL,
`description` TEXT NULL,
`fields` TEXT NOT NULL,
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`head` TEXT NOT NULL,
`head` TEXT NULL,
`joomla_plugin_group` INT(11) NOT NULL DEFAULT 0,
`main_class_code` MEDIUMTEXT NOT NULL,
`method_selection` TEXT NOT NULL,
@ -326,25 +327,25 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_power` (
`add_licensing_template` TINYINT(1) NOT NULL DEFAULT 1,
`approved` TINYINT(1) NOT NULL DEFAULT 0,
`approved_paths` TEXT NOT NULL,
`composer` TEXT NOT NULL,
`description` TEXT NOT NULL,
`composer` TEXT NULL,
`description` TEXT NULL,
`extends` VARCHAR(36) NOT NULL DEFAULT '',
`extends_custom` VARCHAR(64) NOT NULL DEFAULT '',
`extends_custom` VARCHAR(64) NULL DEFAULT '',
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`head` TEXT NOT NULL,
`head` TEXT NULL,
`implements` TEXT NULL,
`implements_custom` VARCHAR(1024) NOT NULL DEFAULT '',
`licensing_template` TEXT NOT NULL,
`load_selection` TEXT NOT NULL,
`licensing_template` TEXT NULL,
`load_selection` TEXT NULL,
`main_class_code` MEDIUMTEXT NOT NULL,
`method_selection` TEXT NOT NULL,
`method_selection` TEXT NULL,
`name` VARCHAR(255) NOT NULL DEFAULT '',
`namespace` VARCHAR(255) NOT NULL DEFAULT '',
`power_version` CHAR(64) NOT NULL DEFAULT '',
`property_selection` TEXT NOT NULL,
`property_selection` TEXT NULL,
`system_name` VARCHAR(255) NOT NULL DEFAULT '',
`type` VARCHAR(64) NOT NULL DEFAULT '',
`use_selection` TEXT NOT NULL,
`use_selection` TEXT NULL,
`params` text NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
@ -417,7 +418,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_admin_view` (
`css_view` TEXT NOT NULL,
`css_views` TEXT NOT NULL,
`custom_button` TEXT NOT NULL,
`description` TEXT NOT NULL,
`description` TEXT NULL,
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`html_import_view` MEDIUMTEXT NOT NULL,
`icon` CHAR(64) NOT NULL DEFAULT '',
@ -1000,7 +1001,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_snippet` (
`contributor_email` VARCHAR(255) NOT NULL DEFAULT '',
`contributor_name` VARCHAR(255) NOT NULL DEFAULT '',
`contributor_website` VARCHAR(255) NOT NULL DEFAULT '',
`description` TEXT NOT NULL,
`description` TEXT NULL,
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`heading` VARCHAR(255) NOT NULL DEFAULT '',
`library` INT(11) NOT NULL DEFAULT 0,
@ -1133,7 +1134,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_fieldtype` (
`datalenght` CHAR(64) NOT NULL DEFAULT '',
`datalenght_other` CHAR(64) NOT NULL DEFAULT '',
`datatype` CHAR(64) NOT NULL DEFAULT '',
`description` TEXT NOT NULL,
`description` TEXT NULL,
`guid` VARCHAR(36) NOT NULL DEFAULT '',
`has_defaults` TINYINT(1) NOT NULL DEFAULT 0,
`indexes` CHAR(64) NOT NULL DEFAULT '',
@ -1842,7 +1843,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_class_extends` (
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`comment` TEXT NOT NULL,
`extension_type` VARCHAR(64) NOT NULL DEFAULT '',
`head` TEXT NOT NULL,
`head` TEXT NULL,
`name` VARCHAR(255) NOT NULL DEFAULT '',
`params` text NULL,
`published` TINYINT(3) NOT NULL DEFAULT 1,
@ -2221,7 +2222,7 @@ INSERT INTO `#__componentbuilder_validation_rule` (`id`, `name`, `php`, `short_d
INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`, `add_javascript_view_footer`, `add_javascript_views_footer`, `css_view`, `css_views`, `datadefault`, `datadefault_other`, `datalenght`, `datalenght_other`, `datatype`, `indexes`, `javascript_view_footer`, `javascript_views_footer`, `name`, `null_switch`, `store`, `fieldtype`, `xml`, `published`, `created`, `modified`, `version`, `hits`, `ordering`, `guid`, `on_get_model_field`, `on_save_model_field`, `initiator_on_get_model`, `initiator_on_save_model`, `params`) VALUES
(23, '', '', '', '', '', '', '', '', 64, '', 'CHAR', 2, '', '', 'Alias', 'NOT NULL', '', 24, '\"<field\\n\\ttype=\\\"text\\\"\\n\\tname=\\\"alias\\\"\\n\\tlabel=\\\"Alias\\\"\\n\\tfilter=\\\"STRING\\\"\\n\\thint=\\\"Auto-generated from name\\\"\\n\\/>\"', 1, '2015-04-09 13:46:04', '2023-06-27 23:46:54', 3, '', 216, '335866ce-b81b-4329-901d-c20254135c9c', '', '', '', '', ''),
(84, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Description (full width)', 'NOT NULL', '', 25, '\"<field \\r\\n\\ttype=\\\"textarea\\\" \\r\\n\\tname=\\\"description\\\" \\r\\n\\tlabel=\\\"Description\\\" \\r\\n\\trows=\\\"11\\\" \\r\\n\\tcols=\\\"10\\\" \\r\\n\\tdescription=\\\"Add Description Here\\\" \\r\\n\\tclass=\\\"text_area span12\\\" \\r\\n\\tfilter=\\\"HTML\\\" \\r\\n\\thint=\\\"Add Description Here\\\" \\r\\n\\/>\"', 1, '2015-03-19 18:20:49', '2022-09-21 10:17:10', 4, '', 265, '749a9917-90c3-49c4-9e72-aa33b0683a87', '', '', '', '', ''),
(84, '', '', '', '', '', '', '', '', '', '', 'TEXT', '', '', '', 'Description (full width)', 'NULL', '', 25, '\"<field\\n\\ttype=\\\"textarea\\\"\\n\\tname=\\\"description\\\"\\n\\tlabel=\\\"Description\\\"\\n\\trows=\\\"11\\\"\\n\\tcols=\\\"10\\\"\\n\\tdescription=\\\"Add Description Here\\\"\\n\\tclass=\\\"text_area span12\\\"\\n\\tfilter=\\\"HTML\\\"\\n\\thint=\\\"Add Description Here\\\"\\n\\/>\"', 1, '2015-03-19 18:20:49', '2024-03-06 15:53:48', 5, '', 265, '749a9917-90c3-49c4-9e72-aa33b0683a87', '', '', '', '', ''),
(100, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Email (required)', 'NOT NULL', '', 24, '\"<field \\r\\n\\ttype=\\\"text\\\" \\r\\n\\tname=\\\"email\\\" \\r\\n\\tlabel=\\\"Email\\\" \\r\\n\\tsize=\\\"10\\\" \\r\\n\\tmaxlength=\\\"50\\\" \\r\\n\\tdescription=\\\"Enter Email\\\" \\r\\n\\tclass=\\\"text_area\\\"\\r\\n\\tfilter=\\\"STRING\\\" \\r\\n\\tvalidate=\\\"email\\\" \\r\\n\\trequired=\\\"true\\\"\\r\\n\\tmessage=\\\"Error! Please add email address here.\\\" \\r\\n\\thint=\\\"demo@example.com\\\" \\r\\n\\/>\"', 1, '2015-05-05 23:44:32', '2016-02-07 22:43:18', 4, '', 285, '10c1eccb-b3c3-4325-a056-45a72d116fd8', '', '', '', '', ''),
(158, '', '', '', '', '', '', '', '', 255, '', 'VARCHAR', '', '', '', 'Image', 'NOT NULL', '', 12, '\"<field\\n\\ttype=\\\"media\\\"\\n\\tname=\\\"image\\\"\\n\\tlabel=\\\"Image\\\"\\n\\/>\"', 1, '2015-04-29 14:00:56', '2020-06-07 02:17:46', 2, '', 45, '0d6970af-b361-4f65-84f6-0eb0c5f09bad', '', '', '', '', ''),
(196, '', '', '', '', '', '', '', '', 64, '', 'VARCHAR', '', '', '', 'Mobile Phone', 'NOT NULL', '', 23, '\"<field type=\\\"text\\\" \\r\\nname=\\\"mobile_phone\\\" \\r\\nlabel=\\\"Mobile Phone\\\" \\r\\nsize=\\\"10\\\" \\r\\nmaxlength=\\\"50\\\" \\r\\ndefault=\\\"\\\" \\r\\ndescription=\\\"Enter Mobile Phone Number\\\" \\r\\nclass=\\\"text_area\\\" \\r\\nfilter=\\\"STRING\\\" \\r\\nvalidated=\\\"tel\\\" \\r\\nrequired=\\\"true\\\" \\r\\nmessage=\\\"Error! Please add mobile phone number here.\\\" \\r\\nhint=\\\"Mobile Phone Here\\\" \\/>\"', 1, '2015-04-07 22:12:58', '2016-03-28 14:00:02', 2, '', 7, '65933a19-243a-48b2-aae9-34e2da710051', '', '', '', '', ''),

View File

@ -299,7 +299,8 @@ class ComponentbuilderViewCompiler extends HtmlView
// start the joomla versions options
$options = [
'3' => 'COM_COMPONENTBUILDER_JOOMLA_THREE',
'4' => 'COM_COMPONENTBUILDER_JOOMLA_FOUR_AND_FIVE'
'4' => 'COM_COMPONENTBUILDER_JOOMLA_FOUR',
'5' => 'COM_COMPONENTBUILDER_JOOMLA_FIVE'
];
// add to form
@ -327,8 +328,8 @@ class ComponentbuilderViewCompiler extends HtmlView
// Joomla Version 4 and five attributes
$attributes = [
'type' => 'note',
'name' => 'joomla_version_note_four_five',
'description' => 'COM_COMPONENTBUILDER_YOUR_COMPONENT_WILL_BE_COMPILED_TO_WORK_IN_JOOMLA_FOUR_AND_JOOMLA_FIVE',
'name' => 'joomla_version_note_four',
'description' => 'COM_COMPONENTBUILDER_YOUR_COMPONENT_WILL_BE_COMPILED_TO_WORK_IN_JOOMLA_FOUR',
'class' => 'alert alert-success',
'showon' => 'joomla_version:4'];
@ -339,6 +340,21 @@ class ComponentbuilderViewCompiler extends HtmlView
$form->setField($xml, null, true, 'builder');
}
// Joomla Version 5 and five attributes
$attributes = [
'type' => 'note',
'name' => 'joomla_version_note_five',
'description' => 'COM_COMPONENTBUILDER_YOUR_COMPONENT_WILL_BE_COMPILED_TO_WORK_IN_JOOMLA_FIVE',
'class' => 'alert alert-success',
'showon' => 'joomla_version:5'];
// add to form
$xml = FormHelper::xml($attributes);
if ($xml instanceof SimpleXMLElement)
{
$form->setField($xml, null, true, 'builder');
}
// Advanced Options
$attributes = [
'type' => 'radio',
@ -554,8 +570,7 @@ class ComponentbuilderViewCompiler extends HtmlView
protected function getSupportMessage(): string
{
return LayoutHelper::render('jcbsupportmessage', []);
}
}
/**
* Prepares the document
@ -661,6 +676,11 @@ class ComponentbuilderViewCompiler extends HtmlView
getComponentDetails_server(id).then(function(result) {
if (result.html) {
document.getElementById('component-details').innerHTML = result.html;
if (result.preferred_joomla_version) {
jQuery('#joomla_version').val(result.preferred_joomla_version);
jQuery('#joomla_version').trigger('liszt:updated');
jQuery('#joomla_version').trigger('change');
}
}
});
}

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>6th March, 2024</creationDate>
<creationDate>7th 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-beta3</version>
<version>3.2.0-beta4</version>
<description><![CDATA[
<h1>Component Builder (v.3.2.0-beta3)</h1>
<h1>Component Builder (v.3.2.0-beta4)</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.
@ -122,6 +122,6 @@ Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/compo
</administration>
<updateservers>
<server type="extension" enabled="1" element="com_componentbuilder" name="Component Builder">https://git.vdm.dev/joomla/Component-Builder/raw/branch/3.10/componentbuilder_update_server.xml</server>
<server type="extension" enabled="1" element="com_componentbuilder" name="Component Builder">https://git.vdm.dev/joomla/Component-Builder/raw/branch/3.x/componentbuilder_update_server.xml</server>
</updateservers>
</extension>

View File

@ -1529,7 +1529,7 @@
<element>pkg_component_builder</element>
<type>package</type>
<client>site</client>
<version>3.2.01</version>
<version>3.2.0-beta1</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-beta2.zip</downloadurl>
@ -1547,13 +1547,13 @@
<element>pkg_component_builder</element>
<type>package</type>
<client>site</client>
<version>3.2.02</version>
<version>3.2.0-beta2</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-beta2.zip</downloadurl>
</downloads>
<tags>
<tag>stable</tag>
<tag>beta</tag>
</tags>
<maintainer>Llewellyn van der Merwe</maintainer>
<maintainerurl>https://dev.vdm.io</maintainerurl>
@ -1565,7 +1565,7 @@
<element>pkg_component_builder</element>
<type>package</type>
<client>site</client>
<version>3.2.03</version>
<version>3.2.0-beta3</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-beta3.zip</downloadurl>
@ -1577,4 +1577,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-beta4</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-beta4.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

@ -0,0 +1,129 @@
<?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\Compiler\Architecture\JoomlaFive\Controller;
use VDM\Joomla\Componentbuilder\Compiler\Config;
use VDM\Joomla\Componentbuilder\Compiler\Creator\Permission;
use VDM\Joomla\Componentbuilder\Compiler\Customcode\Dispenser;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Indent;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Line;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Architecture\Controller\AllowAddInterface;
/**
* Controller Allow Add Class for Joomla 5
*
* @since 3.2.0
*/
final class AllowAdd implements AllowAddInterface
{
/**
* The Component code name.
*
* @var String
* @since 3.2.0
*/
protected String $component;
/**
* The Permission Class.
*
* @var Permission
* @since 3.2.0
*/
protected Permission $permission;
/**
* The Dispenser Class.
*
* @var Dispenser
* @since 3.2.0
*/
protected Dispenser $dispenser;
/**
* Constructor.
*
* @param Config $config The Config Class.
* @param Permission $permission The Permission Class.
* @param Dispenser $dispenser The Dispenser Class.
*
* @since 3.2.0
*/
public function __construct(Config $config, Permission $permission,
Dispenser $dispenser)
{
$this->component = $config->component_code_name;