Release of v4.1.1-beta2

Adds new JCB package engine. Fix issue with loading the Component Builder Wiki. Adds advanced version update notice to the Component Builder Dashboard. Completely refactors the class that builds the Component Dashboard. #1134. Adds Initialize, Reset, and Push functionality to the Repository entities. Completely refactors the SQL teaks and SQL dump classes. Changes J4 fields to allow NULL. Fix a bug in Dynamic Get JavaScript that causes table columns to not load.
This commit is contained in:
2025-06-27 10:36:15 +00:00
parent d11860ae1a
commit 64bc4327eb
883 changed files with 63212 additions and 27462 deletions

View File

@@ -243,7 +243,6 @@
name="icon"
label="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_DESCRIPTION"
directory=""
/>
<!-- Php_after_publish Field. Type: Editor. (joomla) -->
<field
@@ -295,7 +294,6 @@
name="icon_category"
label="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_CATEGORY_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_CATEGORY_DESCRIPTION"
directory=""
/>
<!-- Icon_add Field. Type: Media. (joomla) -->
<field
@@ -303,7 +301,6 @@
name="icon_add"
label="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_ADD_LABEL"
description="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_ADD_DESCRIPTION"
directory=""
/>
<!-- Php_after_cancel Field. Type: Editor. (joomla) -->
<field

View File

@@ -288,7 +288,6 @@
name="icon"
label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ICON_LABEL"
description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_ICON_DESCRIPTION"
directory=""
/>
<!-- Add_php_jview Field. Type: Radio. (joomla) -->
<field

View File

@@ -556,30 +556,52 @@
multiple="false"
filter="INT"
required="true"
default="0">
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_</option>
<option value="2">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_NE</option>
<option value="3">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_OR_NOT</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_ALT_LTGT</option>
<option value="4">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_GT</option>
<option value="5">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_LT</option>
<option value="6">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL_GE</option>
<option value="7">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_TO</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_LE</option>
<option value="8">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN_LT</option>
<option value="9">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN_GT</option>
<option value="10">
COM_COMPONENTBUILDER_DYNAMIC_GET_IN</option>
<option value="11">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_IN</option>
<option value="12">
COM_COMPONENTBUILDER_DYNAMIC_GET_LIKE</option>
<option value="13">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LIKE</option>
<option value="14">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NULL</option>
<option value="15">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NOT_NULL</option>
<option value="16">
COM_COMPONENTBUILDER_DYNAMIC_GET_BETWEEN</option>
<option value="17">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_BETWEEN</option>
<option value="18">
COM_COMPONENTBUILDER_DYNAMIC_GET_EXISTS</option>
<option value="19">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EXISTS</option>
<option value="20">
COM_COMPONENTBUILDER_DYNAMIC_GET_REGEXP</option>
<option value="21">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_REGEXP</option>
<option value="22">
COM_COMPONENTBUILDER_DYNAMIC_GET_SOUNDS_LIKE</option>
</field>
<!-- Join_field Field. Type: Text. (joomla) -->
<field
@@ -798,30 +820,52 @@
multiple="false"
filter="INT"
required="true"
default="0">
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_</option>
<option value="2">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_NE</option>
<option value="3">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_OR_NOT</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_ALT_LTGT</option>
<option value="4">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_GT</option>
<option value="5">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_LT</option>
<option value="6">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL_GE</option>
<option value="7">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_TO</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_LE</option>
<option value="8">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN_LT</option>
<option value="9">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN_GT</option>
<option value="10">
COM_COMPONENTBUILDER_DYNAMIC_GET_IN</option>
<option value="11">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_IN</option>
<option value="12">
COM_COMPONENTBUILDER_DYNAMIC_GET_LIKE</option>
<option value="13">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LIKE</option>
<option value="14">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NULL</option>
<option value="15">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NOT_NULL</option>
<option value="16">
COM_COMPONENTBUILDER_DYNAMIC_GET_BETWEEN</option>
<option value="17">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_BETWEEN</option>
<option value="18">
COM_COMPONENTBUILDER_DYNAMIC_GET_EXISTS</option>
<option value="19">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EXISTS</option>
<option value="20">
COM_COMPONENTBUILDER_DYNAMIC_GET_REGEXP</option>
<option value="21">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_REGEXP</option>
<option value="22">
COM_COMPONENTBUILDER_DYNAMIC_GET_SOUNDS_LIKE</option>
</field>
<!-- Table_key Field. Type: Text. (joomla) -->
<field
@@ -903,30 +947,52 @@
multiple="false"
filter="INT"
required="true"
default="0">
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_</option>
<option value="2">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_NE</option>
<option value="3">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_OR_NOT</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_ALT_LTGT</option>
<option value="4">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_GT</option>
<option value="5">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_LT</option>
<option value="6">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL_GE</option>
<option value="7">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_TO</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_LE</option>
<option value="8">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN_LT</option>
<option value="9">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN_GT</option>
<option value="10">
COM_COMPONENTBUILDER_DYNAMIC_GET_IN</option>
<option value="11">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_IN</option>
<option value="12">
COM_COMPONENTBUILDER_DYNAMIC_GET_LIKE</option>
<option value="13">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LIKE</option>
<option value="14">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NULL</option>
<option value="15">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NOT_NULL</option>
<option value="16">
COM_COMPONENTBUILDER_DYNAMIC_GET_BETWEEN</option>
<option value="17">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_BETWEEN</option>
<option value="18">
COM_COMPONENTBUILDER_DYNAMIC_GET_EXISTS</option>
<option value="19">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EXISTS</option>
<option value="20">
COM_COMPONENTBUILDER_DYNAMIC_GET_REGEXP</option>
<option value="21">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_REGEXP</option>
<option value="22">
COM_COMPONENTBUILDER_DYNAMIC_GET_SOUNDS_LIKE</option>
</field>
<!-- Value_key Field. Type: Text. (joomla) -->
<field
@@ -1424,30 +1490,52 @@
multiple="false"
filter="INT"
required="true"
default="0">
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_</option>
<option value="2">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_NE</option>
<option value="3">
COM_COMPONENTBUILDER_DYNAMIC_GET_EQUAL_OR_NOT</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EQUAL_ALT_LTGT</option>
<option value="4">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_GT</option>
<option value="5">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_LT</option>
<option value="6">
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_GREATER_THAN_OR_EQUAL_GE</option>
<option value="7">
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_TO</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_LESS_THAN_OR_EQUAL_LE</option>
<option value="8">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LESS_THAN_LT</option>
<option value="9">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN</option>
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_GREATER_THAN_GT</option>
<option value="10">
COM_COMPONENTBUILDER_DYNAMIC_GET_IN</option>
<option value="11">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_IN</option>
<option value="12">
COM_COMPONENTBUILDER_DYNAMIC_GET_LIKE</option>
<option value="13">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_LIKE</option>
<option value="14">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NULL</option>
<option value="15">
COM_COMPONENTBUILDER_DYNAMIC_GET_IS_NOT_NULL</option>
<option value="16">
COM_COMPONENTBUILDER_DYNAMIC_GET_BETWEEN</option>
<option value="17">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_BETWEEN</option>
<option value="18">
COM_COMPONENTBUILDER_DYNAMIC_GET_EXISTS</option>
<option value="19">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_EXISTS</option>
<option value="20">
COM_COMPONENTBUILDER_DYNAMIC_GET_REGEXP</option>
<option value="21">
COM_COMPONENTBUILDER_DYNAMIC_GET_NOT_REGEXP</option>
<option value="22">
COM_COMPONENTBUILDER_DYNAMIC_GET_SOUNDS_LIKE</option>
</field>
<!-- Join_field Field. Type: Text. (joomla) -->
<field

View File

@@ -200,7 +200,7 @@
name="null_switch"
label="COM_COMPONENTBUILDER_FIELD_NULL_SWITCH_LABEL"
class="btn-group btn-group-yesno"
default="NOT NULL"
default="NULL"
required="true">
<!-- Option Set. -->
<option value="NULL">

View File

@@ -145,7 +145,7 @@
name="null_switch"
label="COM_COMPONENTBUILDER_FIELDTYPE_NULL_SWITCH_LABEL"
class="btn-group btn-group-yesno"
default="NOT NULL"
default="NULL"
required="true">
<!-- Option Set. -->
<option value="NULL">

File diff suppressed because it is too large Load Diff

View File

@@ -111,6 +111,32 @@
message="COM_COMPONENTBUILDER_JOOMLA_POWER_SYSTEM_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_POWER_SYSTEM_NAME_HINT"
/>
<!-- Guid Field. Type: Text. (joomla) -->
<field
type="text"
name="guid"
label="COM_COMPONENTBUILDER_JOOMLA_POWER_GUID_LABEL"
size="40"
maxlength="40"
description="COM_COMPONENTBUILDER_JOOMLA_POWER_GUID_DESCRIPTION"
class="text_area"
readonly="true"
filter="CMD"
validate="guid"
hint="COM_COMPONENTBUILDER_JOOMLA_POWER_GUID_HINT"
/>
<!-- Description Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="description"
label="COM_COMPONENTBUILDER_JOOMLA_POWER_DESCRIPTION_LABEL"
rows="11"
cols="10"
description="COM_COMPONENTBUILDER_JOOMLA_POWER_DESCRIPTION_DESCRIPTION"
class="text_area span12"
filter="HTML"
hint="COM_COMPONENTBUILDER_JOOMLA_POWER_DESCRIPTION_HINT"
/>
<!-- Settings Field. Type: Subform. (joomla) -->
<field
type="subform"
@@ -161,32 +187,6 @@
</field>
</form>
</field>
<!-- Guid Field. Type: Text. (joomla) -->
<field
type="text"
name="guid"
label="COM_COMPONENTBUILDER_JOOMLA_POWER_GUID_LABEL"
size="40"
maxlength="40"
description="COM_COMPONENTBUILDER_JOOMLA_POWER_GUID_DESCRIPTION"
class="text_area"
readonly="true"
filter="CMD"
validate="guid"
hint="COM_COMPONENTBUILDER_JOOMLA_POWER_GUID_HINT"
/>
<!-- Description Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="description"
label="COM_COMPONENTBUILDER_JOOMLA_POWER_DESCRIPTION_LABEL"
rows="11"
cols="10"
description="COM_COMPONENTBUILDER_JOOMLA_POWER_DESCRIPTION_DESCRIPTION"
class="text_area span12"
filter="HTML"
hint="COM_COMPONENTBUILDER_JOOMLA_POWER_DESCRIPTION_HINT"
/>
</fieldset>
<!-- Access Control Fields. -->

View File

@@ -379,7 +379,7 @@
default="一_一"
/>
<!-- Note_approved_paths Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_approved_paths" label="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_LABEL" description="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_DESCRIPTION" heading="h4" class="alert alert-info note_approved_paths" showon="approved:1" />
<field type="note" name="note_approved_paths" label="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_LABEL" description="COM_COMPONENTBUILDER_POWER_NOTE_APPROVED_PATHS_DESCRIPTION" heading="h4" class="alert alert-info note_approved_paths" />
<!-- Property_selection Field. Type: Subform. (joomla) -->
<field
type="subform"

View File

@@ -154,12 +154,18 @@
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_REPOSITORY_SELECT_AN_OPTION</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_SUPER_POWER</option>
<option value="4">
COM_COMPONENTBUILDER_REPOSITORY_PACKAGES</option>
<option value="3">
COM_COMPONENTBUILDER_REPOSITORY_FIELD_TYPES</option>
<option value="2">
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER</option>
<option value="3">
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_FIELD_TYPES</option>
<option value="5">
COM_COMPONENTBUILDER_REPOSITORY_SNIPPETS</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_SUPER_POWER</option>
<option value="6">
COM_COMPONENTBUILDER_REPOSITORY_REPOSITORIES</option>
</field>
<!-- Type Field. Type: List. (joomla) -->
<field
@@ -178,6 +184,8 @@
COM_COMPONENTBUILDER_REPOSITORY_SELECT_AN_OPTION</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_GITEA</option>
<option value="2">
COM_COMPONENTBUILDER_REPOSITORY_GITHUB</option>
</field>
<!-- Base Field. Type: Url. (joomla) -->
<field
@@ -189,7 +197,6 @@
default="https://git.vdm.dev"
description="COM_COMPONENTBUILDER_REPOSITORY_BASE_DESCRIPTION"
class="text_area"
required="true"
filter="url"
validated="url"
scheme="http,https"
@@ -264,7 +271,7 @@
label="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0">
default="1">
<!-- Option Set. -->
<option value="0">
COM_COMPONENTBUILDER_REPOSITORY_GLOBAL</option>
@@ -297,6 +304,33 @@
message="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_HINT"
/>
<!-- Author_email Field. Type: Text. (joomla) -->
<field
type="text"
name="author_email"
label="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_EMAIL_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_EMAIL_DESCRIPTION"
class="text_area"
filter="STRING"
validate="email"
message="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_EMAIL_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_EMAIL_HINT"
/>
<!-- Author_name Field. Type: Text. (joomla) -->
<field
type="text"
name="author_name"
label="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_AUTHOR_NAME_HINT"
/>
<!-- Token Field. Type: Password. (joomla) -->
<field
type="password"
@@ -309,7 +343,7 @@
filter="STRING"
hint="COM_COMPONENTBUILDER_REPOSITORY_TOKEN_HINT"
autocomplete="off"
showon="type:1[AND]access_repo:1"
showon="type:1[OR]type:2[AND]access_repo:1"
/>
<!-- Username Field. Type: Text. (joomla) -->
<field