forked from joomla/Component-Builder
Added the GUI switch to control the adding of the asset table fix. gh-616
This commit is contained in:
parent
a05efdbb33
commit
b65d868a86
14
README.md
14
README.md
@ -12,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
|
|||||||
|
|
||||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||||
|
|
||||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.1) with **ALL** its features and **ALL** concepts totally open-source and free!
|
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.2) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||||
|
|
||||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
@ -144,14 +144,14 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 8th December, 2020
|
+ *Last Build*: 10th December, 2020
|
||||||
+ *Version*: 2.12.1
|
+ *Version*: 2.12.2
|
||||||
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **289396**
|
+ *Line count*: **289867**
|
||||||
+ *Field count*: **1545**
|
+ *Field count*: **1555**
|
||||||
+ *File count*: **1912**
|
+ *File count*: **1923**
|
||||||
+ *Folder count*: **310**
|
+ *Folder count*: **316**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
||||||
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
|
@ -12,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
|
|||||||
|
|
||||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||||
|
|
||||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.1) with **ALL** its features and **ALL** concepts totally open-source and free!
|
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.12.2) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||||
|
|
||||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
@ -144,14 +144,14 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 8th December, 2020
|
+ *Last Build*: 10th December, 2020
|
||||||
+ *Version*: 2.12.1
|
+ *Version*: 2.12.2
|
||||||
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **289396**
|
+ *Line count*: **289867**
|
||||||
+ *Field count*: **1545**
|
+ *Field count*: **1555**
|
||||||
+ *File count*: **1912**
|
+ *File count*: **1923**
|
||||||
+ *Folder count*: **310**
|
+ *Folder count*: **316**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
|
||||||
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
|
||||||
|
322
admin/config.xml
322
admin/config.xml
@ -122,16 +122,6 @@
|
|||||||
folder="editors"
|
folder="editors"
|
||||||
filter="cmd"
|
filter="cmd"
|
||||||
/>
|
/>
|
||||||
<!-- Compiler_plugin Field. Type: Plugins. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="plugins"
|
|
||||||
name="compiler_plugin"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_DESCRIPTION"
|
|
||||||
multiple="true"
|
|
||||||
folder="extension"
|
|
||||||
filter="cmd"
|
|
||||||
/>
|
|
||||||
<!-- Github_access_token Field. Type: Text. (joomla) -->
|
<!-- Github_access_token Field. Type: Text. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="text"
|
type="text"
|
||||||
@ -184,54 +174,6 @@
|
|||||||
</field>
|
</field>
|
||||||
<!-- Spacer_hr_two Field. Type: Spacer. A None Database Field. (joomla) -->
|
<!-- Spacer_hr_two Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
<field type="spacer" name="spacer_hr_two" hr="true" class="spacer_hr_two" />
|
<field type="spacer" name="spacer_hr_two" hr="true" class="spacer_hr_two" />
|
||||||
<!-- Add_menu_prefix Field. Type: Radio. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="radio"
|
|
||||||
name="add_menu_prefix"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION"
|
|
||||||
class="btn-group btn-group-yesno"
|
|
||||||
default="1">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_YES</option>
|
|
||||||
<option value="0">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
|
||||||
</field>
|
|
||||||
<!-- Menu_prefix Field. Type: Text. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="text"
|
|
||||||
name="menu_prefix"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_LABEL"
|
|
||||||
size="30"
|
|
||||||
maxlength="30"
|
|
||||||
default=""
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_DESCRIPTION"
|
|
||||||
class="text_area"
|
|
||||||
filter="SAFEHTML"
|
|
||||||
message="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_MESSAGE"
|
|
||||||
hint="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_HINT"
|
|
||||||
autocomplete="on"
|
|
||||||
showon="add_menu_prefix:1"
|
|
||||||
/>
|
|
||||||
<!-- Spacer_hr_three Field. Type: Spacer. A None Database Field. (joomla) -->
|
|
||||||
<field type="spacer" name="spacer_hr_three" hr="true" class="spacer_hr_three" />
|
|
||||||
<!-- Minify Field. Type: Radio. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="radio"
|
|
||||||
name="minify"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_MINIFY_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_MINIFY_DESCRIPTION"
|
|
||||||
class="btn-group btn-group-yesno"
|
|
||||||
default="0">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_YES</option>
|
|
||||||
<option value="0">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
|
||||||
</field>
|
|
||||||
<!-- Spacer_hr_four Field. Type: Spacer. A None Database Field. (joomla) -->
|
|
||||||
<field type="spacer" name="spacer_hr_four" hr="true" class="spacer_hr_four" />
|
|
||||||
<!-- Set_browser_storage Field. Type: Radio. (joomla) -->
|
<!-- Set_browser_storage Field. Type: Radio. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="radio"
|
type="radio"
|
||||||
@ -283,96 +225,8 @@
|
|||||||
<option value="0">
|
<option value="0">
|
||||||
COM_COMPONENTBUILDER_CONFIG_NEVER_UPDATE</option>
|
COM_COMPONENTBUILDER_CONFIG_NEVER_UPDATE</option>
|
||||||
</field>
|
</field>
|
||||||
<!-- Spacer_hr_five Field. Type: Spacer. A None Database Field. (joomla) -->
|
<!-- Spacer_hr_three Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
<field type="spacer" name="spacer_hr_five" hr="true" class="spacer_hr_five" />
|
<field type="spacer" name="spacer_hr_three" hr="true" class="spacer_hr_three" />
|
||||||
<!-- Note_language_global Field. Type: Note. A None Database Field. (joomla) -->
|
|
||||||
<field type="note" name="note_language_global" label="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_DESCRIPTION" heading="h4" class="alert alert-info note_language_global" />
|
|
||||||
<!-- Language Field. Type: Lang. (custom) -->
|
|
||||||
<field
|
|
||||||
type="lang"
|
|
||||||
name="language"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL"
|
|
||||||
class="list_class"
|
|
||||||
multiple="false"
|
|
||||||
default="en-GB"
|
|
||||||
required="true"
|
|
||||||
button="true"
|
|
||||||
/>
|
|
||||||
<!-- Percentagelanguageadd Field. Type: Number. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="number"
|
|
||||||
name="percentagelanguageadd"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_LABEL"
|
|
||||||
default="50"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION"
|
|
||||||
class="text_area"
|
|
||||||
required="true"
|
|
||||||
min="10"
|
|
||||||
max="100"
|
|
||||||
step="10"
|
|
||||||
/>
|
|
||||||
<!-- Export_language_strings Field. Type: Radio. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="radio"
|
|
||||||
name="export_language_strings"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_DESCRIPTION"
|
|
||||||
class="btn-group btn-group-yesno"
|
|
||||||
default="1">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_YES</option>
|
|
||||||
<option value="0">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
|
||||||
</field>
|
|
||||||
<!-- Spacer_hr_six Field. Type: Spacer. A None Database Field. (joomla) -->
|
|
||||||
<field type="spacer" name="spacer_hr_six" hr="true" class="spacer_hr_six" />
|
|
||||||
<!-- Compiler_field_builder_type Field. Type: List. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="list"
|
|
||||||
name="compiler_field_builder_type"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION"
|
|
||||||
class="list_class"
|
|
||||||
filter="INT"
|
|
||||||
required="true"
|
|
||||||
default="2">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION</option>
|
|
||||||
<option value="2">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_SIMPLEXMLELEMENT_CLASS</option>
|
|
||||||
</field>
|
|
||||||
<!-- Field_name_builder Field. Type: Radio. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="radio"
|
|
||||||
name="field_name_builder"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_DESCRIPTION"
|
|
||||||
class="btn-group btn-group-yesno"
|
|
||||||
default="1">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
|
||||||
<option value="2">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC</option>
|
|
||||||
</field>
|
|
||||||
<!-- Type_name_builder Field. Type: Radio. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="radio"
|
|
||||||
name="type_name_builder"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION"
|
|
||||||
class="btn-group btn-group-yesno"
|
|
||||||
default="1">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
|
||||||
<option value="2">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT</option>
|
|
||||||
</field>
|
|
||||||
<!-- Spacer_hr_seven Field. Type: Spacer. A None Database Field. (joomla) -->
|
|
||||||
<field type="spacer" name="spacer_hr_seven" hr="true" class="spacer_hr_seven" />
|
|
||||||
<!-- Api Field. Type: User. (joomla) -->
|
<!-- Api Field. Type: User. (joomla) -->
|
||||||
<field
|
<field
|
||||||
type="user"
|
type="user"
|
||||||
@ -380,8 +234,8 @@
|
|||||||
label="COM_COMPONENTBUILDER_CONFIG_API_LABEL"
|
label="COM_COMPONENTBUILDER_CONFIG_API_LABEL"
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION"
|
description="COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION"
|
||||||
/>
|
/>
|
||||||
<!-- Spacer_hr_eight Field. Type: Spacer. A None Database Field. (joomla) -->
|
<!-- Spacer_hr_four Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
<field type="spacer" name="spacer_hr_eight" hr="true" class="spacer_hr_eight" />
|
<field type="spacer" name="spacer_hr_four" hr="true" class="spacer_hr_four" />
|
||||||
<field name="autorTitle"
|
<field name="autorTitle"
|
||||||
type="spacer"
|
type="spacer"
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_AUTHOR"
|
label="COM_COMPONENTBUILDER_CONFIG_AUTHOR"
|
||||||
@ -799,6 +653,174 @@
|
|||||||
default=""
|
default=""
|
||||||
/>
|
/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
<fieldset
|
||||||
|
name="compiler_custom_config"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_COMPILER">
|
||||||
|
|
||||||
|
<!-- Compiler_plugin Field. Type: Plugins. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="plugins"
|
||||||
|
name="compiler_plugin"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_PLUGIN_DESCRIPTION"
|
||||||
|
multiple="true"
|
||||||
|
folder="extension"
|
||||||
|
filter="cmd"
|
||||||
|
/>
|
||||||
|
<!-- Spacer_hr_five Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
|
<field type="spacer" name="spacer_hr_five" hr="true" class="spacer_hr_five" />
|
||||||
|
<!-- Add_menu_prefix Field. Type: Radio. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="radio"
|
||||||
|
name="add_menu_prefix"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION"
|
||||||
|
class="btn-group btn-group-yesno"
|
||||||
|
default="1">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_YES</option>
|
||||||
|
<option value="0">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
||||||
|
</field>
|
||||||
|
<!-- Menu_prefix Field. Type: Text. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="text"
|
||||||
|
name="menu_prefix"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_LABEL"
|
||||||
|
size="30"
|
||||||
|
maxlength="30"
|
||||||
|
default=""
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_DESCRIPTION"
|
||||||
|
class="text_area"
|
||||||
|
filter="SAFEHTML"
|
||||||
|
message="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_MESSAGE"
|
||||||
|
hint="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_HINT"
|
||||||
|
autocomplete="on"
|
||||||
|
showon="add_menu_prefix:1"
|
||||||
|
/>
|
||||||
|
<!-- Spacer_hr_six Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
|
<field type="spacer" name="spacer_hr_six" hr="true" class="spacer_hr_six" />
|
||||||
|
<!-- Minify Field. Type: Radio. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="radio"
|
||||||
|
name="minify"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_MINIFY_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_MINIFY_DESCRIPTION"
|
||||||
|
class="btn-group btn-group-yesno"
|
||||||
|
default="0">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_YES</option>
|
||||||
|
<option value="0">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
||||||
|
</field>
|
||||||
|
<!-- Spacer_hr_seven Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
|
<field type="spacer" name="spacer_hr_seven" hr="true" class="spacer_hr_seven" />
|
||||||
|
<!-- Note_language_global Field. Type: Note. A None Database Field. (joomla) -->
|
||||||
|
<field type="note" name="note_language_global" label="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_LANGUAGE_GLOBAL_DESCRIPTION" heading="h4" class="alert alert-info note_language_global" />
|
||||||
|
<!-- Language Field. Type: Lang. (custom) -->
|
||||||
|
<field
|
||||||
|
type="lang"
|
||||||
|
name="language"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_LANGUAGE_LABEL"
|
||||||
|
class="list_class"
|
||||||
|
multiple="false"
|
||||||
|
default="en-GB"
|
||||||
|
required="true"
|
||||||
|
button="true"
|
||||||
|
/>
|
||||||
|
<!-- Percentagelanguageadd Field. Type: Number. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="number"
|
||||||
|
name="percentagelanguageadd"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_LABEL"
|
||||||
|
default="50"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION"
|
||||||
|
class="text_area"
|
||||||
|
required="true"
|
||||||
|
min="10"
|
||||||
|
max="100"
|
||||||
|
step="10"
|
||||||
|
/>
|
||||||
|
<!-- Export_language_strings Field. Type: Radio. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="radio"
|
||||||
|
name="export_language_strings"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_DESCRIPTION"
|
||||||
|
class="btn-group btn-group-yesno"
|
||||||
|
default="1">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_YES</option>
|
||||||
|
<option value="0">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
||||||
|
</field>
|
||||||
|
<!-- Spacer_hr_eight Field. Type: Spacer. A None Database Field. (joomla) -->
|
||||||
|
<field type="spacer" name="spacer_hr_eight" hr="true" class="spacer_hr_eight" />
|
||||||
|
<!-- Assets_table_fix Field. Type: List. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="list"
|
||||||
|
name="assets_table_fix"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_DESCRIPTION"
|
||||||
|
class="list_class"
|
||||||
|
multiple="false"
|
||||||
|
default="1">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="0">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_DO_NOT_ADD_FIX_EVER</option>
|
||||||
|
<option value="1">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_SQL_ADDREMOVE</option>
|
||||||
|
<option value="2">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_INTELLIGENT_ADDREMOVEIF</option>
|
||||||
|
</field>
|
||||||
|
<!-- Compiler_field_builder_type Field. Type: List. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="list"
|
||||||
|
name="compiler_field_builder_type"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION"
|
||||||
|
class="list_class"
|
||||||
|
filter="INT"
|
||||||
|
required="true"
|
||||||
|
default="2">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_STRING_MANIPULATION</option>
|
||||||
|
<option value="2">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_SIMPLEXMLELEMENT_CLASS</option>
|
||||||
|
</field>
|
||||||
|
<!-- Field_name_builder Field. Type: Radio. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="radio"
|
||||||
|
name="field_name_builder"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_DESCRIPTION"
|
||||||
|
class="btn-group btn-group-yesno"
|
||||||
|
default="1">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
||||||
|
<option value="2">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC</option>
|
||||||
|
</field>
|
||||||
|
<!-- Type_name_builder Field. Type: Radio. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="radio"
|
||||||
|
name="type_name_builder"
|
||||||
|
label="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_LABEL"
|
||||||
|
description="COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION"
|
||||||
|
class="btn-group btn-group-yesno"
|
||||||
|
default="1">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
||||||
|
<option value="2">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT</option>
|
||||||
|
</field>
|
||||||
|
</fieldset>
|
||||||
<fieldset
|
<fieldset
|
||||||
name="development_method_custom_config"
|
name="development_method_custom_config"
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD">
|
label="COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD">
|
||||||
|
@ -95,6 +95,20 @@ class Get
|
|||||||
*/
|
*/
|
||||||
public $compilerPath;
|
public $compilerPath;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Switch to add assets table fix
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
public $addAssetsTableFix = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Switch to add assets table name fix
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
public $addAssetsTableNameFix = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Switch to add custom code placeholders
|
* Switch to add custom code placeholders
|
||||||
*
|
*
|
||||||
@ -341,6 +355,13 @@ class Get
|
|||||||
*/
|
*/
|
||||||
public $componentCodeName;
|
public $componentCodeName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Component Code Name Length
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
public $componentCodeNameLength;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Component ID
|
* The Component ID
|
||||||
*
|
*
|
||||||
@ -908,6 +929,19 @@ class Get
|
|||||||
// set component context
|
// set component context
|
||||||
$this->componentContext = $this->componentCodeName . '.'
|
$this->componentContext = $this->componentCodeName . '.'
|
||||||
. $this->componentID;
|
. $this->componentID;
|
||||||
|
// set the component name length
|
||||||
|
$this->componentCodeNameLength = strlen(
|
||||||
|
$this->componentCodeName
|
||||||
|
);
|
||||||
|
// add assets table fix
|
||||||
|
$global = (int) $this->params->get(
|
||||||
|
'assets_table_fix', 1
|
||||||
|
);
|
||||||
|
$this->addAssetsTableFix = (($add_assets_table_fix
|
||||||
|
= (int) ComponentbuilderHelper::getVar(
|
||||||
|
'joomla_component', $this->componentID, 'id',
|
||||||
|
'assets_table_fix'
|
||||||
|
)) == 3) ? $global : $add_assets_table_fix;
|
||||||
// set if language strings line breaks should be removed
|
// set if language strings line breaks should be removed
|
||||||
$global = ((int) ComponentbuilderHelper::getVar(
|
$global = ((int) ComponentbuilderHelper::getVar(
|
||||||
'joomla_component', $this->componentID, 'id',
|
'joomla_component', $this->componentID, 'id',
|
||||||
@ -2221,6 +2255,16 @@ class Get
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check the length of the view name (+5 for com_ and _)
|
||||||
|
$name_length = $this->componentCodeNameLength + strlen(
|
||||||
|
$view->name_single_code
|
||||||
|
) + 5;
|
||||||
|
// when the name is larger then 49 we need to add the assets table name fix
|
||||||
|
if ($name_length > 49)
|
||||||
|
{
|
||||||
|
$this->addAssetsTableNameFix = true;
|
||||||
|
}
|
||||||
|
|
||||||
// set updater
|
// set updater
|
||||||
$updater = array(
|
$updater = array(
|
||||||
'unique' => array(
|
'unique' => array(
|
||||||
@ -4152,7 +4196,8 @@ class Get
|
|||||||
public function getListViewDefaultOrdering(&$nameListCode)
|
public function getListViewDefaultOrdering(&$nameListCode)
|
||||||
{
|
{
|
||||||
if (isset($this->viewsDefaultOrdering[$nameListCode])
|
if (isset($this->viewsDefaultOrdering[$nameListCode])
|
||||||
&& $this->viewsDefaultOrdering[$nameListCode]['add_admin_ordering'] == 1)
|
&& $this->viewsDefaultOrdering[$nameListCode]['add_admin_ordering']
|
||||||
|
== 1)
|
||||||
{
|
{
|
||||||
foreach (
|
foreach (
|
||||||
$this->viewsDefaultOrdering[$nameListCode]['admin_ordering_fields']
|
$this->viewsDefaultOrdering[$nameListCode]['admin_ordering_fields']
|
||||||
@ -4171,6 +4216,7 @@ class Get
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// the default
|
// the default
|
||||||
return array(
|
return array(
|
||||||
'name' => 'a.id',
|
'name' => 'a.id',
|
||||||
@ -9154,21 +9200,28 @@ class Get
|
|||||||
{
|
{
|
||||||
$form_field_class = array();
|
$form_field_class = array();
|
||||||
$form_field_class[] = $this->hhh . 'BOM' . $this->hhh . PHP_EOL;
|
$form_field_class[] = $this->hhh . 'BOM' . $this->hhh . PHP_EOL;
|
||||||
$form_field_class[] = "//" . $this->setLine(__LINE__) . " No direct access to this file";
|
$form_field_class[] = "//" . $this->setLine(__LINE__)
|
||||||
|
. " No direct access to this file";
|
||||||
$form_field_class[] = "defined('_JEXEC') or die('Restricted access');";
|
$form_field_class[] = "defined('_JEXEC') or die('Restricted access');";
|
||||||
$form_field_class[] = PHP_EOL . "use Joomla\CMS\Form\FormField;";
|
$form_field_class[] = PHP_EOL . "use Joomla\CMS\Form\FormField;";
|
||||||
$form_field_class[] = "use Joomla\CMS\Factory;";
|
$form_field_class[] = "use Joomla\CMS\Factory;";
|
||||||
$form_field_class[] = PHP_EOL . "class JFormFieldModadminvvvvvvvdm extends FormField";
|
$form_field_class[] = PHP_EOL
|
||||||
|
. "class JFormFieldModadminvvvvvvvdm extends FormField";
|
||||||
$form_field_class[] = "{";
|
$form_field_class[] = "{";
|
||||||
$form_field_class[] = $this->_t(1) . "protected \$type = 'modadminvvvvvvvdm';";
|
$form_field_class[] = $this->_t(1)
|
||||||
$form_field_class[] = PHP_EOL . $this->_t(1) . "protected function getLabel()";
|
. "protected \$type = 'modadminvvvvvvvdm';";
|
||||||
|
$form_field_class[] = PHP_EOL . $this->_t(1)
|
||||||
|
. "protected function getLabel()";
|
||||||
$form_field_class[] = $this->_t(1) . "{";
|
$form_field_class[] = $this->_t(1) . "{";
|
||||||
$form_field_class[] = $this->_t(2) . "return;";
|
$form_field_class[] = $this->_t(2) . "return;";
|
||||||
$form_field_class[] = $this->_t(1) . "}";
|
$form_field_class[] = $this->_t(1) . "}";
|
||||||
$form_field_class[] = PHP_EOL . $this->_t(1) . "protected function getInput()";
|
$form_field_class[] = PHP_EOL . $this->_t(1)
|
||||||
|
. "protected function getInput()";
|
||||||
$form_field_class[] = $this->_t(1) . "{";
|
$form_field_class[] = $this->_t(1) . "{";
|
||||||
$form_field_class[] = $this->_t(2) . "//" . $this->setLine(__LINE__) . " Get the document";
|
$form_field_class[] = $this->_t(2) . "//" . $this->setLine(__LINE__)
|
||||||
$form_field_class[] = $this->_t(2) . "\$document = Factory::getDocument();";
|
. " Get the document";
|
||||||
|
$form_field_class[] = $this->_t(2)
|
||||||
|
. "\$document = Factory::getDocument();";
|
||||||
$form_field_class[] = implode(PHP_EOL, $fieldScriptBucket);
|
$form_field_class[] = implode(PHP_EOL, $fieldScriptBucket);
|
||||||
$form_field_class[] = $this->_t(2) . "return; // noting for now :)";
|
$form_field_class[] = $this->_t(2) . "return; // noting for now :)";
|
||||||
$form_field_class[] = $this->_t(1) . "}";
|
$form_field_class[] = $this->_t(1) . "}";
|
||||||
|
@ -7968,6 +7968,8 @@ class Interpretation extends Fields
|
|||||||
$script .= $this->getCustomScriptBuilder(
|
$script .= $this->getCustomScriptBuilder(
|
||||||
'php_postflight', 'install', PHP_EOL . PHP_EOL, null, true
|
'php_postflight', 'install', PHP_EOL . PHP_EOL, null, true
|
||||||
);
|
);
|
||||||
|
// add the Intelligent Fix script if needed
|
||||||
|
$script .= $this->getAssetsTableIntelligentFix();
|
||||||
// add the component install notice
|
// add the component install notice
|
||||||
if (ComponentbuilderHelper::checkString($script))
|
if (ComponentbuilderHelper::checkString($script))
|
||||||
{
|
{
|
||||||
@ -8128,7 +8130,7 @@ class Interpretation extends Fields
|
|||||||
$script .= PHP_EOL . $this->_t(3) . "{";
|
$script .= PHP_EOL . $this->_t(3) . "{";
|
||||||
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
||||||
__LINE__
|
__LINE__
|
||||||
) . " If succesfully remove " . $viewsCodeName
|
) . " If successfully remove " . $viewsCodeName
|
||||||
. " add queued success message.";
|
. " add queued success message.";
|
||||||
// TODO lang is not translated
|
// TODO lang is not translated
|
||||||
$script .= PHP_EOL . $this->_t(4)
|
$script .= PHP_EOL . $this->_t(4)
|
||||||
@ -8164,7 +8166,7 @@ class Interpretation extends Fields
|
|||||||
$script .= PHP_EOL . $this->_t(3) . "{";
|
$script .= PHP_EOL . $this->_t(3) . "{";
|
||||||
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
||||||
__LINE__
|
__LINE__
|
||||||
) . " If succesfully remove " . $viewsCodeName
|
) . " If successfully remove " . $viewsCodeName
|
||||||
. " add queued success message.";
|
. " add queued success message.";
|
||||||
// TODO lang is not translated
|
// TODO lang is not translated
|
||||||
$script .= PHP_EOL . $this->_t(4)
|
$script .= PHP_EOL . $this->_t(4)
|
||||||
@ -8238,7 +8240,7 @@ class Interpretation extends Fields
|
|||||||
$script .= PHP_EOL . $this->_t(3) . "{";
|
$script .= PHP_EOL . $this->_t(3) . "{";
|
||||||
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
||||||
__LINE__
|
__LINE__
|
||||||
) . " If succesfully remove " . $viewsCodeName
|
) . " If successfully remove " . $viewsCodeName
|
||||||
. " add queued success message.";
|
. " add queued success message.";
|
||||||
// TODO lang is not translated
|
// TODO lang is not translated
|
||||||
$script .= PHP_EOL . $this->_t(4)
|
$script .= PHP_EOL . $this->_t(4)
|
||||||
@ -8314,7 +8316,7 @@ class Interpretation extends Fields
|
|||||||
$script .= PHP_EOL . $this->_t(3) . "{";
|
$script .= PHP_EOL . $this->_t(3) . "{";
|
||||||
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
||||||
__LINE__
|
__LINE__
|
||||||
) . " If succesfully remove " . $viewsCodeName
|
) . " If successfully remove " . $viewsCodeName
|
||||||
. " add queued success message.";
|
. " add queued success message.";
|
||||||
// TODO lang is not translated
|
// TODO lang is not translated
|
||||||
$script .= PHP_EOL . $this->_t(4)
|
$script .= PHP_EOL . $this->_t(4)
|
||||||
@ -8349,7 +8351,7 @@ class Interpretation extends Fields
|
|||||||
$script .= PHP_EOL . $this->_t(3) . "{";
|
$script .= PHP_EOL . $this->_t(3) . "{";
|
||||||
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
||||||
__LINE__
|
__LINE__
|
||||||
) . " If succesfully remove " . $viewsCodeName
|
) . " If successfully remove " . $viewsCodeName
|
||||||
. " add queued success message.";
|
. " add queued success message.";
|
||||||
// TODO lang is not translated
|
// TODO lang is not translated
|
||||||
$script .= PHP_EOL . $this->_t(4)
|
$script .= PHP_EOL . $this->_t(4)
|
||||||
@ -8384,7 +8386,7 @@ class Interpretation extends Fields
|
|||||||
$script .= PHP_EOL . $this->_t(3) . "{";
|
$script .= PHP_EOL . $this->_t(3) . "{";
|
||||||
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
$script .= PHP_EOL . $this->_t(4) . "//" . $this->setLine(
|
||||||
__LINE__
|
__LINE__
|
||||||
) . " If succesfully remove " . $viewsCodeName
|
) . " If successfully removed " . $viewsCodeName
|
||||||
. " add queued success message.";
|
. " add queued success message.";
|
||||||
// TODO lang is not translated
|
// TODO lang is not translated
|
||||||
$script .= PHP_EOL . $this->_t(4)
|
$script .= PHP_EOL . $this->_t(4)
|
||||||
@ -8482,7 +8484,7 @@ class Interpretation extends Fields
|
|||||||
$script .= PHP_EOL . $this->_t(2) . "if (\$" . $view . "_done)";
|
$script .= PHP_EOL . $this->_t(2) . "if (\$" . $view . "_done)";
|
||||||
$script .= PHP_EOL . $this->_t(2) . "{";
|
$script .= PHP_EOL . $this->_t(2) . "{";
|
||||||
$script .= PHP_EOL . $this->_t(3) . "//" . $this->setLine(__LINE__)
|
$script .= PHP_EOL . $this->_t(3) . "//" . $this->setLine(__LINE__)
|
||||||
. " If succesfully remove " . $component
|
. " If successfully removed " . $component
|
||||||
. " add queued success message.";
|
. " add queued success message.";
|
||||||
// TODO lang is not translated
|
// TODO lang is not translated
|
||||||
$script .= PHP_EOL . $this->_t(3) . "\$app->enqueueMessage(JText:"
|
$script .= PHP_EOL . $this->_t(3) . "\$app->enqueueMessage(JText:"
|
||||||
@ -8491,6 +8493,8 @@ class Interpretation extends Fields
|
|||||||
// done
|
// done
|
||||||
$script .= PHP_EOL;
|
$script .= PHP_EOL;
|
||||||
}
|
}
|
||||||
|
// add the Intelligent Reversal script if needed
|
||||||
|
$script .= $this->getAssetsTableIntelligentReversal();
|
||||||
// add the custom uninstall script
|
// add the custom uninstall script
|
||||||
$script .= $this->getCustomScriptBuilder(
|
$script .= $this->getCustomScriptBuilder(
|
||||||
'php_method', 'uninstall', "", null, true, null, PHP_EOL
|
'php_method', 'uninstall', "", null, true, null, PHP_EOL
|
||||||
@ -8499,6 +8503,52 @@ class Interpretation extends Fields
|
|||||||
return $script;
|
return $script;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* build code for the assets table script intelligent fix
|
||||||
|
*
|
||||||
|
* @return string The php to place in script.php
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
protected function getAssetsTableIntelligentFix()
|
||||||
|
{
|
||||||
|
// check if we should add the intelligent fix treatment for the assets table
|
||||||
|
if ($this->addAssetsTableFix == 2 && $this->accessSize <= 400)
|
||||||
|
{
|
||||||
|
// reset script
|
||||||
|
$script = array();
|
||||||
|
$script[] = $this->_t(2) . "//" . $this->setLine(__LINE__)
|
||||||
|
. " Check what size the rules column is now";
|
||||||
|
|
||||||
|
// done
|
||||||
|
return PHP_EOL . implode(PHP_EOL, $script);
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* build code for the assets table script intelligent reversal
|
||||||
|
*
|
||||||
|
* @return string The php to place in script.php
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
protected function getAssetsTableIntelligentReversal()
|
||||||
|
{
|
||||||
|
// check if we should add the intelligent uninstall treatment for the assets table
|
||||||
|
if ($this->addAssetsTableFix == 2)
|
||||||
|
{
|
||||||
|
// reset script
|
||||||
|
$script = array();
|
||||||
|
$script[] = $this->_t(2) . "//" . $this->setLine(__LINE__)
|
||||||
|
. " Check for the biggest rules item in the database at this point";
|
||||||
|
|
||||||
|
// done
|
||||||
|
return PHP_EOL . implode(PHP_EOL, $script);
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
public function setMoveFolderScript()
|
public function setMoveFolderScript()
|
||||||
{
|
{
|
||||||
if ($this->setMoveFolders)
|
if ($this->setMoveFolders)
|
||||||
@ -10458,10 +10508,34 @@ class Interpretation extends Fields
|
|||||||
unset($this->customScriptBuilder['sql']);
|
unset($this->customScriptBuilder['sql']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WHY DO WE NEED AN ASSET TABLE FIX?
|
||||||
|
// https://www.mysqltutorial.org/mysql-varchar/
|
||||||
|
// https://stackoverflow.com/a/15227917/1429677
|
||||||
|
// https://forums.mysql.com/read.php?24,105964,105964
|
||||||
|
// https://github.com/vdm-io/Joomla-Component-Builder/issues/616#issuecomment-741502980
|
||||||
|
// 30 actions each +-20 characters with 8 groups
|
||||||
|
// that makes 4800 characters and the current Joomla
|
||||||
|
// column size is varchar(5120)
|
||||||
|
|
||||||
|
// just a little event tracking in classes
|
||||||
|
// count actions = setAccessSections
|
||||||
|
// around line206 (infusion call)
|
||||||
|
// around line26454 (interpretation function)
|
||||||
|
// first fix = setInstall
|
||||||
|
// around line1600 (infusion call)
|
||||||
|
// around line10063 (interpretation function)
|
||||||
|
// second fix = setUninstallScript
|
||||||
|
// around line2161 (infusion call)
|
||||||
|
// around line8030 (interpretation function)
|
||||||
|
|
||||||
// check if this component needs larger rules
|
// check if this component needs larger rules
|
||||||
// also check if the developer will allow this
|
// also check if the developer will allow this
|
||||||
// TODO still adding to GUI the needed switches and code
|
// any value above 0 allows for the change to be added
|
||||||
if (1)
|
// the access actions length must be checked before this
|
||||||
|
if ($this->addAssetsTableFix)
|
||||||
|
{
|
||||||
|
// 400 actions worse case is larger the 65535 characters
|
||||||
|
if ($this->accessSize > 400)
|
||||||
{
|
{
|
||||||
$db .= PHP_EOL;
|
$db .= PHP_EOL;
|
||||||
$db .= PHP_EOL . '--';
|
$db .= PHP_EOL . '--';
|
||||||
@ -10474,11 +10548,28 @@ class Interpretation extends Fields
|
|||||||
$db .= PHP_EOL
|
$db .= PHP_EOL
|
||||||
. "ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control.';";
|
. "ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control.';";
|
||||||
}
|
}
|
||||||
|
// smaller then 400 makes TEXT large enough
|
||||||
|
// only add this option if set to SQL fix
|
||||||
|
elseif ($this->addAssetsTableFix == 1)
|
||||||
|
{
|
||||||
|
$db .= PHP_EOL;
|
||||||
|
$db .= PHP_EOL . '--';
|
||||||
|
$db .= PHP_EOL
|
||||||
|
. '--' . $this->setLine(
|
||||||
|
__LINE__
|
||||||
|
)
|
||||||
|
. ' Always insure this column rules is large enough for all the access control values.';
|
||||||
|
$db .= PHP_EOL . '--';
|
||||||
|
$db .= PHP_EOL
|
||||||
|
. "ALTER TABLE `#__assets` CHANGE `rules` `rules` TEXT NOT NULL COMMENT 'JSON encoded access control.';";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// check if this component needs larger names
|
// check if this component needs larger names
|
||||||
// also check if the developer will allow this
|
// also check if the developer will allow this
|
||||||
// TODO still adding to GUI the needed switches and code
|
// any value above 0 allows for the change to be added
|
||||||
if (1)
|
// the config length must be checked before this
|
||||||
|
if ($this->addAssetsTableFix && $this->addAssetsTableNameFix)
|
||||||
{
|
{
|
||||||
$db .= PHP_EOL;
|
$db .= PHP_EOL;
|
||||||
$db .= PHP_EOL . '--';
|
$db .= PHP_EOL . '--';
|
||||||
@ -10526,8 +10617,8 @@ class Interpretation extends Fields
|
|||||||
|
|
||||||
// check if this component used larger rules
|
// check if this component used larger rules
|
||||||
// now revert them back on uninstall
|
// now revert them back on uninstall
|
||||||
// TODO still adding to GUI the needed switches and code
|
// number 1 allows for the change to be reversed
|
||||||
if (1)
|
if ($this->addAssetsTableFix == 1)
|
||||||
{
|
{
|
||||||
// https://github.com/joomla/joomla-cms/blob/3.10.0-alpha3/installation/sql/mysql/joomla.sql#L22
|
// https://github.com/joomla/joomla-cms/blob/3.10.0-alpha3/installation/sql/mysql/joomla.sql#L22
|
||||||
// Checked 1st December 2020 (let us know if this changes)
|
// Checked 1st December 2020 (let us know if this changes)
|
||||||
@ -10545,8 +10636,8 @@ class Interpretation extends Fields
|
|||||||
|
|
||||||
// check if this component used larger names
|
// check if this component used larger names
|
||||||
// now revert them back on uninstall
|
// now revert them back on uninstall
|
||||||
// TODO still adding to GUI the needed switches and code
|
// number 1 allows for the change to be reversed
|
||||||
if (1)
|
if ($this->addAssetsTableFix == 1 && $this->addAssetsTableNameFix)
|
||||||
{
|
{
|
||||||
// https://github.com/joomla/joomla-cms/blob/3.10.0-alpha3/installation/sql/mysql/joomla.sql#L20
|
// https://github.com/joomla/joomla-cms/blob/3.10.0-alpha3/installation/sql/mysql/joomla.sql#L20
|
||||||
// Checked 1st December 2020 (let us know if this changes)
|
// Checked 1st December 2020 (let us know if this changes)
|
||||||
@ -26398,6 +26489,8 @@ function vdm_dkim() {
|
|||||||
|
|
||||||
public function setAccessSections()
|
public function setAccessSections()
|
||||||
{
|
{
|
||||||
|
// access size counter
|
||||||
|
$this->accessSize = 12; // ;)
|
||||||
// set the default component access values
|
// set the default component access values
|
||||||
$this->componentHead = array();
|
$this->componentHead = array();
|
||||||
$this->componentGlobal = array();
|
$this->componentGlobal = array();
|
||||||
@ -26432,7 +26525,8 @@ function vdm_dkim() {
|
|||||||
$this->componentHead[] = $this->_t(2)
|
$this->componentHead[] = $this->_t(2)
|
||||||
. '<action name="core.export" title="' . $exportTitle
|
. '<action name="core.export" title="' . $exportTitle
|
||||||
. '" description="' . $exportDesc . '" />';
|
. '" description="' . $exportDesc . '" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
$importTitle = $this->langPrefix . '_'
|
$importTitle = $this->langPrefix . '_'
|
||||||
. ComponentbuilderHelper::safeString('Import Data', 'U');
|
. ComponentbuilderHelper::safeString('Import Data', 'U');
|
||||||
$importDesc = $this->langPrefix . '_'
|
$importDesc = $this->langPrefix . '_'
|
||||||
@ -26446,6 +26540,8 @@ function vdm_dkim() {
|
|||||||
$this->componentHead[] = $this->_t(2)
|
$this->componentHead[] = $this->_t(2)
|
||||||
. '<action name="core.import" title="' . $importTitle
|
. '<action name="core.import" title="' . $importTitle
|
||||||
. '" description="' . $importDesc . '" />';
|
. '" description="' . $importDesc . '" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
}
|
}
|
||||||
// version permission
|
// version permission
|
||||||
$batchTitle = $this->langPrefix . '_'
|
$batchTitle = $this->langPrefix . '_'
|
||||||
@ -26490,6 +26586,8 @@ function vdm_dkim() {
|
|||||||
{
|
{
|
||||||
$this->componentHead[] = $this->_t(2)
|
$this->componentHead[] = $this->_t(2)
|
||||||
. ' <action name="core.edit.value" title="JACTION_EDITVALUE" description="JACTION_EDITVALUE_COMPONENT_DESC" />';
|
. ' <action name="core.edit.value" title="JACTION_EDITVALUE" description="JACTION_EDITVALUE_COMPONENT_DESC" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
}
|
}
|
||||||
// new custom created by permissions
|
// new custom created by permissions
|
||||||
$created_byTitle = $this->langPrefix . '_'
|
$created_byTitle = $this->langPrefix . '_'
|
||||||
@ -26560,6 +26658,8 @@ function vdm_dkim() {
|
|||||||
. '<action name="' . $customAdminCode . '.access" title="'
|
. '<action name="' . $customAdminCode . '.access" title="'
|
||||||
. $customAdminTitle . '" description="' . $customAdminDesc
|
. $customAdminTitle . '" description="' . $customAdminDesc
|
||||||
. '" />';
|
. '" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
// add the custom permissions to use the buttons of this view
|
// add the custom permissions to use the buttons of this view
|
||||||
$this->addCustomButtonPermissions(
|
$this->addCustomButtonPermissions(
|
||||||
$custom_admin_view['settings'], $customAdminName,
|
$custom_admin_view['settings'], $customAdminName,
|
||||||
@ -26643,7 +26743,8 @@ function vdm_dkim() {
|
|||||||
$this->componentGlobal[$sortKey] = $this->_t(2)
|
$this->componentGlobal[$sortKey] = $this->_t(2)
|
||||||
. '<action name="site.' . $siteCode . '.access" title="'
|
. '<action name="site.' . $siteCode . '.access" title="'
|
||||||
. $siteTitle . '" description="' . $siteDesc . '" />';
|
. $siteTitle . '" description="' . $siteDesc . '" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
// check if this site view requires access rule to default to public
|
// check if this site view requires access rule to default to public
|
||||||
if (isset($site_view['public_access'])
|
if (isset($site_view['public_access'])
|
||||||
&& $site_view['public_access'] == 1)
|
&& $site_view['public_access'] == 1)
|
||||||
@ -26691,6 +26792,8 @@ function vdm_dkim() {
|
|||||||
. $_customTab['lang_permission']
|
. $_customTab['lang_permission']
|
||||||
. '" description="'
|
. '" description="'
|
||||||
. $_customTab['lang_permission_desc'] . '" />';
|
. $_customTab['lang_permission_desc'] . '" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -26857,13 +26960,21 @@ function vdm_dkim() {
|
|||||||
// add global to the compnent section
|
// add global to the compnent section
|
||||||
$component .= PHP_EOL . implode(PHP_EOL, $this->componentGlobal)
|
$component .= PHP_EOL . implode(PHP_EOL, $this->componentGlobal)
|
||||||
. PHP_EOL . $this->_t(1) . "</section>";
|
. PHP_EOL . $this->_t(1) . "</section>";
|
||||||
// add views to the compnent section
|
// add views to the component section
|
||||||
$component .= PHP_EOL . implode(PHP_EOL, $componentViews);
|
$component .= PHP_EOL . implode(PHP_EOL, $componentViews);
|
||||||
// be sure to reset again. (memory)
|
// be sure to reset again. (memory)
|
||||||
$this->componentHead = null;
|
$this->componentHead = null;
|
||||||
$this->componentGlobal = null;
|
$this->componentGlobal = null;
|
||||||
$this->permissionViews = null;
|
$this->permissionViews = null;
|
||||||
|
|
||||||
|
// remove the fix in not needed
|
||||||
|
if ($this->accessSize < 30)
|
||||||
|
{
|
||||||
|
// since we have less than 30 actions
|
||||||
|
// we do not need the fix for this component
|
||||||
|
$this->addAssetsTableFix = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// return the build
|
// return the build
|
||||||
return $component;
|
return $component;
|
||||||
}
|
}
|
||||||
@ -26910,6 +27021,8 @@ function vdm_dkim() {
|
|||||||
. '<action name="' . $code . '.' . $customButtonCode
|
. '<action name="' . $code . '.' . $customButtonCode
|
||||||
. '" title="' . $customButtonTitle . '" description="'
|
. '" title="' . $customButtonTitle . '" description="'
|
||||||
. $customButtonDesc . '" />';
|
. $customButtonDesc . '" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -27248,6 +27361,8 @@ function vdm_dkim() {
|
|||||||
$this->componentGlobal[$sortKey] = $this->_t(2)
|
$this->componentGlobal[$sortKey] = $this->_t(2)
|
||||||
. '<action name="' . $action . '" title="' . $title
|
. '<action name="' . $action . '" title="' . $title
|
||||||
. '" description="' . $title . '_DESC" />';
|
. '" description="' . $title . '_DESC" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
// build permission switch
|
// build permission switch
|
||||||
$this->permissionBuilder['global'][$action][$nameView]
|
$this->permissionBuilder['global'][$action][$nameView]
|
||||||
= $nameView;
|
= $nameView;
|
||||||
@ -27296,6 +27411,8 @@ function vdm_dkim() {
|
|||||||
$this->componentGlobal[$sortKey] = $this->_t(2)
|
$this->componentGlobal[$sortKey] = $this->_t(2)
|
||||||
. '<action name="' . $action . '" title="' . $title
|
. '<action name="' . $action . '" title="' . $title
|
||||||
. '" description="' . $title . '_DESC" />';
|
. '" description="' . $title . '_DESC" />';
|
||||||
|
// the size needs increase
|
||||||
|
$this->accessSize++;
|
||||||
// build permission switch
|
// build permission switch
|
||||||
$this->permissionBuilder['global'][$action][$nameView]
|
$this->permissionBuilder['global'][$action][$nameView]
|
||||||
= $nameView;
|
= $nameView;
|
||||||
|
@ -3291,6 +3291,10 @@ COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC="Alphanumeric"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT="Alphanumeric+dot"
|
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT="Alphanumeric+dot"
|
||||||
COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION="This User will be used to log the API call."
|
COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION="This User will be used to log the API call."
|
||||||
COM_COMPONENTBUILDER_CONFIG_API_LABEL="API User"
|
COM_COMPONENTBUILDER_CONFIG_API_LABEL="API User"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_DESCRIPTION="How to apply the assets table fix in JCB.<br />
|
||||||
|
SQL (add&remove) this is the <b>default</b> which adds the SQL fix and removes it once the component is uninstalled.<br />
|
||||||
|
Intelligent (add&remove+if) same as default, but on uninstall will only remove this fix if no other component needs it. Note that this option will only work with other components that also use the <b>intelligent path</b>."
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ASSETS_TABLE_FIX_LABEL="Assets Table Fix"
|
||||||
COM_COMPONENTBUILDER_CONFIG_AUTHOR="Author Info"
|
COM_COMPONENTBUILDER_CONFIG_AUTHOR="Author Info"
|
||||||
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_DESC="The email address of the author of this component."
|
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_DESC="The email address of the author of this component."
|
||||||
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_LABEL="Author Email"
|
COM_COMPONENTBUILDER_CONFIG_AUTHOR_EMAIL_LABEL="Author Email"
|
||||||
@ -3378,6 +3382,7 @@ COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_SIX="Never"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_THREE="Once a day"
|
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_THREE="Once a day"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_TWO="Every twelve hours"
|
COM_COMPONENTBUILDER_CONFIG_CHECK_TIMER_OPTION_TWO="Every twelve hours"
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPANY="Company"
|
COM_COMPONENTBUILDER_CONFIG_COMPANY="Company"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_COMPILER="Compiler"
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION="Select the method to use when building the xml fields in the compiler. The <b>SimpleXMLElement Class</b> is best practice, and <b>String Manipulation</b> is faster and works without special extensions."
|
COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_DESCRIPTION="Select the method to use when building the xml fields in the compiler. The <b>SimpleXMLElement Class</b> is best practice, and <b>String Manipulation</b> is faster and works without special extensions."
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL="Field Builder Type<br /><small>(in compiler)</small>"
|
COM_COMPONENTBUILDER_CONFIG_COMPILER_FIELD_BUILDER_TYPE_LABEL="Field Builder Type<br /><small>(in compiler)</small>"
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_DESCRIPTION="Here you can set the path to the compiler folder"
|
COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_DESCRIPTION="Here you can set the path to the compiler folder"
|
||||||
@ -3433,6 +3438,7 @@ COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_DESCRIPTION="This is the TXT value to use
|
|||||||
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_HINT="v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY"
|
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_HINT="v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY"
|
||||||
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_LABEL="Value"
|
COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_LABEL="Value"
|
||||||
COM_COMPONENTBUILDER_CONFIG_DONT_LOAD="Not"
|
COM_COMPONENTBUILDER_CONFIG_DONT_LOAD="Not"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_DO_NOT_ADD_FIX_EVER="Do not add fix ever"
|
||||||
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE="Dynamic Get (join_db_table)"
|
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE="Dynamic Get (join_db_table)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_VIEW_TABLE="Dynamic Get (join_view_table)"
|
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_VIEW_TABLE="Dynamic Get (join_view_table)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EDITOR_DESCRIPTION="Select the editor you would like to use as the JCB global editor for all custom coding areas."
|
COM_COMPONENTBUILDER_CONFIG_EDITOR_DESCRIPTION="Select the editor you would like to use as the JCB global editor for all custom coding areas."
|
||||||
@ -3540,6 +3546,7 @@ COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD="Gradient"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_INACTIVE="Inactive"
|
COM_COMPONENTBUILDER_CONFIG_INACTIVE="Inactive"
|
||||||
COM_COMPONENTBUILDER_CONFIG_INSTALL_DESCRIPTION="Component locally"
|
COM_COMPONENTBUILDER_CONFIG_INSTALL_DESCRIPTION="Component locally"
|
||||||
COM_COMPONENTBUILDER_CONFIG_INSTALL_LABEL="Install"
|
COM_COMPONENTBUILDER_CONFIG_INSTALL_LABEL="Install"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_INTELLIGENT_ADDREMOVEIF="Intelligent (add&remove+if)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
|
COM_COMPONENTBUILDER_CONFIG_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
|
||||||
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION="Here you can manage what package directories show in the JCB package import area."
|
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION="Here you can manage what package directories show in the JCB package import area."
|
||||||
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_LABEL="Directories"
|
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_LABEL="Directories"
|
||||||
@ -3661,6 +3668,7 @@ COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_LABEL="SMTP Security"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_DESCRIPTION="Enter the username for access to the SMTP host."
|
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_DESCRIPTION="Enter the username for access to the SMTP host."
|
||||||
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_HINT="email@demo.com"
|
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_HINT="email@demo.com"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_LABEL="SMTP Username"
|
COM_COMPONENTBUILDER_CONFIG_SMTPUSER_LABEL="SMTP Username"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_SQL_ADDREMOVE="SQL (add&remove)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SSL="SSL"
|
COM_COMPONENTBUILDER_CONFIG_SSL="SSL"
|
||||||
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_DESCRIPTION="How long should the data that is stored in the browser memory remain unchanged before it is removed and updated."
|
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_DESCRIPTION="How long should the data that is stored in the browser memory remain unchanged before it is removed and updated."
|
||||||
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_LABEL="Update Cycle"
|
COM_COMPONENTBUILDER_CONFIG_STORAGE_TIME_TO_LIVE_LABEL="Update Cycle"
|
||||||
@ -5899,6 +5907,11 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UIKIT_VTWO="Add Uikit v2"
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER="Add Update Server"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER="Add Update Server"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER_LABEL="Add Update Server"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER_LABEL="Add Update Server"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADMIN_VIEWS="Admin Views"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADMIN_VIEWS="Admin Views"
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ASSETS_TABLE_FIX="Assets Table Fix"
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ASSETS_TABLE_FIX_DESCRIPTION="How to apply the assets table fix in JCB.<br />
|
||||||
|
SQL (add&remove) this is the <b>default</b> which adds the SQL fix and removes it once the component is uninstalled.<br />
|
||||||
|
Intelligent (add&remove+if) same as default, but on uninstall will only remove this fix if no other component needs it. Note that this option will only work with other components that also use the <b>intelligent path</b>."
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ASSETS_TABLE_FIX_LABEL="Assets Table Fix"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR="Author"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR="Author"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_DESCRIPTION="The Author's Name & Surname."
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_DESCRIPTION="The Author's Name & Surname."
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT="Author Name & Surname Here"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT="Author Name & Surname Here"
|
||||||
@ -5984,6 +5997,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_DESCRIPTION="Add Description H
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_HINT="Add Description Here"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_HINT="Add Description Here"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_LABEL="Description"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_LABEL="Description"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DETAILS="Details"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DETAILS="Details"
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DO_NOT_ADD_FIX_EVER="Do not add fix ever"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC="Dynamic"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC="Dynamic"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_BUILD_BETA="Dynamic Build (beta)"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_BUILD_BETA="Dynamic Build (beta)"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_INTEGRATION="Dynamic Integration"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DYNAMIC_INTEGRATION="Dynamic Integration"
|
||||||
@ -6020,6 +6034,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION="The component image (pr
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL="Component Image"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL="Component Image"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC="Allows the users in this group to access the import jcb packages button."
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC="Allows the users in this group to access the import jcb packages button."
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_INTELLIGENT_ADDREMOVEIF="Intelligent (add&remove+if)"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT="Javascript"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT="Javascript"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION="Add JavaScript for the entire back-end. Do not add the script tags."
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_DESCRIPTION="Add JavaScript for the entire back-end. Do not add the script tags."
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL="Javascript"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL="Javascript"
|
||||||
@ -6236,6 +6251,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SHOW_DESCRIPTION="Select where you want th
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SHOW_LABEL="Show"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SHOW_LABEL="Show"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SITE_VIEWS="Site Views"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SITE_VIEWS="Site Views"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL="Sql"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL="Sql"
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_ADDREMOVE="SQL (add&remove)"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_DESCRIPTION="Add your MySQL here!"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_DESCRIPTION="Add your MySQL here!"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT="// Add MySQL Table Dump Here"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT="// Add MySQL Table Dump Here"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_LABEL="MySQL - (Install)"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_LABEL="MySQL - (Install)"
|
||||||
|
@ -29,7 +29,8 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
|
|||||||
'add_sql',
|
'add_sql',
|
||||||
'sql',
|
'sql',
|
||||||
'add_sql_uninstall',
|
'add_sql_uninstall',
|
||||||
'sql_uninstall'
|
'sql_uninstall',
|
||||||
|
'assets_table_fix'
|
||||||
);
|
);
|
||||||
|
|
||||||
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
$hiddenFields = $displayData->get('hidden_fields') ?: array();
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -89,33 +89,13 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
'css_site'
|
'css_site'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'dynamic_integration' => array(
|
|
||||||
'left' => array(
|
|
||||||
'add_update_server',
|
|
||||||
'update_server_url',
|
|
||||||
'update_server_target',
|
|
||||||
'note_update_server_note_ftp',
|
|
||||||
'note_update_server_note_zip',
|
|
||||||
'note_update_server_note_other',
|
|
||||||
'update_server',
|
|
||||||
'add_sales_server',
|
|
||||||
'sales_server'
|
|
||||||
),
|
|
||||||
'right' => array(
|
|
||||||
'translation_tool',
|
|
||||||
'note_crowdin',
|
|
||||||
'crowdin_project_identifier',
|
|
||||||
'crowdin_project_api_key',
|
|
||||||
'crowdin_username',
|
|
||||||
'crowdin_account_api_key'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'mysql' => array(
|
'mysql' => array(
|
||||||
'fullwidth' => array(
|
'fullwidth' => array(
|
||||||
'add_sql',
|
'add_sql',
|
||||||
'sql',
|
'sql',
|
||||||
'add_sql_uninstall',
|
'add_sql_uninstall',
|
||||||
'sql_uninstall'
|
'sql_uninstall',
|
||||||
|
'assets_table_fix'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'dash_install' => array(
|
'dash_install' => array(
|
||||||
@ -140,6 +120,27 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
'php_method_uninstall'
|
'php_method_uninstall'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
'dynamic_integration' => array(
|
||||||
|
'left' => array(
|
||||||
|
'add_update_server',
|
||||||
|
'update_server_url',
|
||||||
|
'update_server_target',
|
||||||
|
'note_update_server_note_ftp',
|
||||||
|
'note_update_server_note_zip',
|
||||||
|
'note_update_server_note_other',
|
||||||
|
'update_server',
|
||||||
|
'add_sales_server',
|
||||||
|
'sales_server'
|
||||||
|
),
|
||||||
|
'right' => array(
|
||||||
|
'translation_tool',
|
||||||
|
'note_crowdin',
|
||||||
|
'crowdin_project_identifier',
|
||||||
|
'crowdin_project_api_key',
|
||||||
|
'crowdin_username',
|
||||||
|
'crowdin_account_api_key'
|
||||||
|
)
|
||||||
|
),
|
||||||
'readme' => array(
|
'readme' => array(
|
||||||
'left' => array(
|
'left' => array(
|
||||||
'addreadme',
|
'addreadme',
|
||||||
@ -339,70 +340,34 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
$item->metadata = $registry->toArray();
|
$item->metadata = $registry->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->buildcompsql))
|
|
||||||
{
|
|
||||||
// base64 Decode buildcompsql.
|
|
||||||
$item->buildcompsql = base64_decode($item->buildcompsql);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($item->php_helper_both))
|
|
||||||
{
|
|
||||||
// base64 Decode php_helper_both.
|
|
||||||
$item->php_helper_both = base64_decode($item->php_helper_both);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($item->php_helper_admin))
|
|
||||||
{
|
|
||||||
// base64 Decode php_helper_admin.
|
|
||||||
$item->php_helper_admin = base64_decode($item->php_helper_admin);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($item->php_admin_event))
|
|
||||||
{
|
|
||||||
// base64 Decode php_admin_event.
|
|
||||||
$item->php_admin_event = base64_decode($item->php_admin_event);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($item->php_helper_site))
|
|
||||||
{
|
|
||||||
// base64 Decode php_helper_site.
|
|
||||||
$item->php_helper_site = base64_decode($item->php_helper_site);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($item->php_site_event))
|
if (!empty($item->php_site_event))
|
||||||
{
|
{
|
||||||
// base64 Decode php_site_event.
|
// base64 Decode php_site_event.
|
||||||
$item->php_site_event = base64_decode($item->php_site_event);
|
$item->php_site_event = base64_decode($item->php_site_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->javascript))
|
|
||||||
{
|
|
||||||
// base64 Decode javascript.
|
|
||||||
$item->javascript = base64_decode($item->javascript);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($item->css_admin))
|
if (!empty($item->css_admin))
|
||||||
{
|
{
|
||||||
// base64 Decode css_admin.
|
// base64 Decode css_admin.
|
||||||
$item->css_admin = base64_decode($item->css_admin);
|
$item->css_admin = base64_decode($item->css_admin);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->css_site))
|
if (!empty($item->php_helper_both))
|
||||||
{
|
{
|
||||||
// base64 Decode css_site.
|
// base64 Decode php_helper_both.
|
||||||
$item->css_site = base64_decode($item->css_site);
|
$item->php_helper_both = base64_decode($item->php_helper_both);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->php_preflight_install))
|
if (!empty($item->php_admin_event))
|
||||||
{
|
{
|
||||||
// base64 Decode php_preflight_install.
|
// base64 Decode php_admin_event.
|
||||||
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
$item->php_admin_event = base64_decode($item->php_admin_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->php_preflight_update))
|
if (!empty($item->sql_uninstall))
|
||||||
{
|
{
|
||||||
// base64 Decode php_preflight_update.
|
// base64 Decode sql_uninstall.
|
||||||
$item->php_preflight_update = base64_decode($item->php_preflight_update);
|
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->php_postflight_install))
|
if (!empty($item->php_postflight_install))
|
||||||
@ -411,10 +376,10 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->php_postflight_update))
|
if (!empty($item->php_preflight_install))
|
||||||
{
|
{
|
||||||
// base64 Decode php_postflight_update.
|
// base64 Decode php_preflight_install.
|
||||||
$item->php_postflight_update = base64_decode($item->php_postflight_update);
|
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->php_method_uninstall))
|
if (!empty($item->php_method_uninstall))
|
||||||
@ -423,16 +388,52 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($item->php_helper_admin))
|
||||||
|
{
|
||||||
|
// base64 Decode php_helper_admin.
|
||||||
|
$item->php_helper_admin = base64_decode($item->php_helper_admin);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($item->php_helper_site))
|
||||||
|
{
|
||||||
|
// base64 Decode php_helper_site.
|
||||||
|
$item->php_helper_site = base64_decode($item->php_helper_site);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($item->javascript))
|
||||||
|
{
|
||||||
|
// base64 Decode javascript.
|
||||||
|
$item->javascript = base64_decode($item->javascript);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($item->css_site))
|
||||||
|
{
|
||||||
|
// base64 Decode css_site.
|
||||||
|
$item->css_site = base64_decode($item->css_site);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($item->php_preflight_update))
|
||||||
|
{
|
||||||
|
// base64 Decode php_preflight_update.
|
||||||
|
$item->php_preflight_update = base64_decode($item->php_preflight_update);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($item->php_postflight_update))
|
||||||
|
{
|
||||||
|
// base64 Decode php_postflight_update.
|
||||||
|
$item->php_postflight_update = base64_decode($item->php_postflight_update);
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($item->sql))
|
if (!empty($item->sql))
|
||||||
{
|
{
|
||||||
// base64 Decode sql.
|
// base64 Decode sql.
|
||||||
$item->sql = base64_decode($item->sql);
|
$item->sql = base64_decode($item->sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->sql_uninstall))
|
if (!empty($item->buildcompsql))
|
||||||
{
|
{
|
||||||
// base64 Decode sql_uninstall.
|
// base64 Decode buildcompsql.
|
||||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
$item->buildcompsql = base64_decode($item->buildcompsql);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($item->readme))
|
if (!empty($item->readme))
|
||||||
@ -446,18 +447,18 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
// Get the encryption object.
|
// Get the encryption object.
|
||||||
$basic = new FOFEncryptAes($basickey);
|
$basic = new FOFEncryptAes($basickey);
|
||||||
|
|
||||||
if (!empty($item->crowdin_username) && $basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
|
||||||
{
|
|
||||||
// basic decrypt data crowdin_username.
|
|
||||||
$item->crowdin_username = rtrim($basic->decryptString($item->crowdin_username), "\0");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($item->whmcs_key) && $basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true)))
|
if (!empty($item->whmcs_key) && $basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true)))
|
||||||
{
|
{
|
||||||
// basic decrypt data whmcs_key.
|
// basic decrypt data whmcs_key.
|
||||||
$item->whmcs_key = rtrim($basic->decryptString($item->whmcs_key), "\0");
|
$item->whmcs_key = rtrim($basic->decryptString($item->whmcs_key), "\0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($item->crowdin_username) && $basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
||||||
|
{
|
||||||
|
// basic decrypt data crowdin_username.
|
||||||
|
$item->crowdin_username = rtrim($basic->decryptString($item->crowdin_username), "\0");
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($item->export_key) && $basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
|
if (!empty($item->export_key) && $basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
|
||||||
{
|
{
|
||||||
// basic decrypt data export_key.
|
// basic decrypt data export_key.
|
||||||
@ -1412,70 +1413,34 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
$data['addcontributors'] = '';
|
$data['addcontributors'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the buildcompsql string to base64 string.
|
|
||||||
if (isset($data['buildcompsql']))
|
|
||||||
{
|
|
||||||
$data['buildcompsql'] = base64_encode($data['buildcompsql']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the php_helper_both string to base64 string.
|
|
||||||
if (isset($data['php_helper_both']))
|
|
||||||
{
|
|
||||||
$data['php_helper_both'] = base64_encode($data['php_helper_both']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the php_helper_admin string to base64 string.
|
|
||||||
if (isset($data['php_helper_admin']))
|
|
||||||
{
|
|
||||||
$data['php_helper_admin'] = base64_encode($data['php_helper_admin']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the php_admin_event string to base64 string.
|
|
||||||
if (isset($data['php_admin_event']))
|
|
||||||
{
|
|
||||||
$data['php_admin_event'] = base64_encode($data['php_admin_event']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the php_helper_site string to base64 string.
|
|
||||||
if (isset($data['php_helper_site']))
|
|
||||||
{
|
|
||||||
$data['php_helper_site'] = base64_encode($data['php_helper_site']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the php_site_event string to base64 string.
|
// Set the php_site_event string to base64 string.
|
||||||
if (isset($data['php_site_event']))
|
if (isset($data['php_site_event']))
|
||||||
{
|
{
|
||||||
$data['php_site_event'] = base64_encode($data['php_site_event']);
|
$data['php_site_event'] = base64_encode($data['php_site_event']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the javascript string to base64 string.
|
|
||||||
if (isset($data['javascript']))
|
|
||||||
{
|
|
||||||
$data['javascript'] = base64_encode($data['javascript']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the css_admin string to base64 string.
|
// Set the css_admin string to base64 string.
|
||||||
if (isset($data['css_admin']))
|
if (isset($data['css_admin']))
|
||||||
{
|
{
|
||||||
$data['css_admin'] = base64_encode($data['css_admin']);
|
$data['css_admin'] = base64_encode($data['css_admin']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the css_site string to base64 string.
|
// Set the php_helper_both string to base64 string.
|
||||||
if (isset($data['css_site']))
|
if (isset($data['php_helper_both']))
|
||||||
{
|
{
|
||||||
$data['css_site'] = base64_encode($data['css_site']);
|
$data['php_helper_both'] = base64_encode($data['php_helper_both']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the php_preflight_install string to base64 string.
|
// Set the php_admin_event string to base64 string.
|
||||||
if (isset($data['php_preflight_install']))
|
if (isset($data['php_admin_event']))
|
||||||
{
|
{
|
||||||
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
|
$data['php_admin_event'] = base64_encode($data['php_admin_event']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the php_preflight_update string to base64 string.
|
// Set the sql_uninstall string to base64 string.
|
||||||
if (isset($data['php_preflight_update']))
|
if (isset($data['sql_uninstall']))
|
||||||
{
|
{
|
||||||
$data['php_preflight_update'] = base64_encode($data['php_preflight_update']);
|
$data['sql_uninstall'] = base64_encode($data['sql_uninstall']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the php_postflight_install string to base64 string.
|
// Set the php_postflight_install string to base64 string.
|
||||||
@ -1484,10 +1449,10 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
$data['php_postflight_install'] = base64_encode($data['php_postflight_install']);
|
$data['php_postflight_install'] = base64_encode($data['php_postflight_install']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the php_postflight_update string to base64 string.
|
// Set the php_preflight_install string to base64 string.
|
||||||
if (isset($data['php_postflight_update']))
|
if (isset($data['php_preflight_install']))
|
||||||
{
|
{
|
||||||
$data['php_postflight_update'] = base64_encode($data['php_postflight_update']);
|
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the php_method_uninstall string to base64 string.
|
// Set the php_method_uninstall string to base64 string.
|
||||||
@ -1496,16 +1461,52 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
|
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the php_helper_admin string to base64 string.
|
||||||
|
if (isset($data['php_helper_admin']))
|
||||||
|
{
|
||||||
|
$data['php_helper_admin'] = base64_encode($data['php_helper_admin']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the php_helper_site string to base64 string.
|
||||||
|
if (isset($data['php_helper_site']))
|
||||||
|
{
|
||||||
|
$data['php_helper_site'] = base64_encode($data['php_helper_site']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the javascript string to base64 string.
|
||||||
|
if (isset($data['javascript']))
|
||||||
|
{
|
||||||
|
$data['javascript'] = base64_encode($data['javascript']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the css_site string to base64 string.
|
||||||
|
if (isset($data['css_site']))
|
||||||
|
{
|
||||||
|
$data['css_site'] = base64_encode($data['css_site']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the php_preflight_update string to base64 string.
|
||||||
|
if (isset($data['php_preflight_update']))
|
||||||
|
{
|
||||||
|
$data['php_preflight_update'] = base64_encode($data['php_preflight_update']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the php_postflight_update string to base64 string.
|
||||||
|
if (isset($data['php_postflight_update']))
|
||||||
|
{
|
||||||
|
$data['php_postflight_update'] = base64_encode($data['php_postflight_update']);
|
||||||
|
}
|
||||||
|
|
||||||
// Set the sql string to base64 string.
|
// Set the sql string to base64 string.
|
||||||
if (isset($data['sql']))
|
if (isset($data['sql']))
|
||||||
{
|
{
|
||||||
$data['sql'] = base64_encode($data['sql']);
|
$data['sql'] = base64_encode($data['sql']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the sql_uninstall string to base64 string.
|
// Set the buildcompsql string to base64 string.
|
||||||
if (isset($data['sql_uninstall']))
|
if (isset($data['buildcompsql']))
|
||||||
{
|
{
|
||||||
$data['sql_uninstall'] = base64_encode($data['sql_uninstall']);
|
$data['buildcompsql'] = base64_encode($data['buildcompsql']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the readme string to base64 string.
|
// Set the readme string to base64 string.
|
||||||
@ -1519,18 +1520,18 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
|
|||||||
// Get the encryption object
|
// Get the encryption object
|
||||||
$basic = new FOFEncryptAes($basickey);
|
$basic = new FOFEncryptAes($basickey);
|
||||||
|
|
||||||
// Encrypt data crowdin_username.
|
|
||||||
if (isset($data['crowdin_username']) && $basickey)
|
|
||||||
{
|
|
||||||
$data['crowdin_username'] = $basic->encryptString($data['crowdin_username']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Encrypt data whmcs_key.
|
// Encrypt data whmcs_key.
|
||||||
if (isset($data['whmcs_key']) && $basickey)
|
if (isset($data['whmcs_key']) && $basickey)
|
||||||
{
|
{
|
||||||
$data['whmcs_key'] = $basic->encryptString($data['whmcs_key']);
|
$data['whmcs_key'] = $basic->encryptString($data['whmcs_key']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Encrypt data crowdin_username.
|
||||||
|
if (isset($data['crowdin_username']) && $basickey)
|
||||||
|
{
|
||||||
|
$data['crowdin_username'] = $basic->encryptString($data['crowdin_username']);
|
||||||
|
}
|
||||||
|
|
||||||
// Encrypt data export_key.
|
// Encrypt data export_key.
|
||||||
if (isset($data['export_key']) && $basickey)
|
if (isset($data['export_key']) && $basickey)
|
||||||
{
|
{
|
||||||
|
@ -2395,6 +2395,41 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// decode php_site_event
|
||||||
|
$item->php_site_event = base64_decode($item->php_site_event);
|
||||||
|
// decode css_admin
|
||||||
|
$item->css_admin = base64_decode($item->css_admin);
|
||||||
|
// decode php_helper_both
|
||||||
|
$item->php_helper_both = base64_decode($item->php_helper_both);
|
||||||
|
// decode php_admin_event
|
||||||
|
$item->php_admin_event = base64_decode($item->php_admin_event);
|
||||||
|
// decode sql_uninstall
|
||||||
|
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
||||||
|
// decode php_postflight_install
|
||||||
|
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
||||||
|
// 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_helper_admin
|
||||||
|
$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);
|
||||||
|
// decode css_site
|
||||||
|
$item->css_site = base64_decode($item->css_site);
|
||||||
|
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 php_preflight_update
|
||||||
|
$item->php_preflight_update = base64_decode($item->php_preflight_update);
|
||||||
|
// decode php_postflight_update
|
||||||
|
$item->php_postflight_update = base64_decode($item->php_postflight_update);
|
||||||
|
// decode sql
|
||||||
|
$item->sql = base64_decode($item->sql);
|
||||||
if ($basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
if ($basickey && !is_numeric($item->crowdin_username) && $item->crowdin_username === base64_encode(base64_decode($item->crowdin_username, true)))
|
||||||
{
|
{
|
||||||
// decrypt crowdin_username
|
// decrypt crowdin_username
|
||||||
@ -2402,46 +2437,11 @@ class ComponentbuilderModelJoomla_components extends JModelList
|
|||||||
}
|
}
|
||||||
// decode buildcompsql
|
// decode buildcompsql
|
||||||
$item->buildcompsql = base64_decode($item->buildcompsql);
|
$item->buildcompsql = base64_decode($item->buildcompsql);
|
||||||
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 php_helper_both
|
|
||||||
$item->php_helper_both = base64_decode($item->php_helper_both);
|
|
||||||
// decode php_helper_admin
|
|
||||||
$item->php_helper_admin = base64_decode($item->php_helper_admin);
|
|
||||||
// decode php_admin_event
|
|
||||||
$item->php_admin_event = base64_decode($item->php_admin_event);
|
|
||||||
// decode php_helper_site
|
|
||||||
$item->php_helper_site = base64_decode($item->php_helper_site);
|
|
||||||
// decode php_site_event
|
|
||||||
$item->php_site_event = base64_decode($item->php_site_event);
|
|
||||||
// decode javascript
|
|
||||||
$item->javascript = base64_decode($item->javascript);
|
|
||||||
// decode css_admin
|
|
||||||
$item->css_admin = base64_decode($item->css_admin);
|
|
||||||
// decode css_site
|
|
||||||
$item->css_site = base64_decode($item->css_site);
|
|
||||||
// decode php_preflight_install
|
|
||||||
$item->php_preflight_install = base64_decode($item->php_preflight_install);
|
|
||||||
// decode php_preflight_update
|
|
||||||
$item->php_preflight_update = base64_decode($item->php_preflight_update);
|
|
||||||
if ($basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
|
if ($basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
|
||||||
{
|
{
|
||||||
// decrypt export_key
|
// decrypt export_key
|
||||||
$item->export_key = $basic->decryptString($item->export_key);
|
$item->export_key = $basic->decryptString($item->export_key);
|
||||||
}
|
}
|
||||||
// decode php_postflight_install
|
|
||||||
$item->php_postflight_install = base64_decode($item->php_postflight_install);
|
|
||||||
// decode php_postflight_update
|
|
||||||
$item->php_postflight_update = base64_decode($item->php_postflight_update);
|
|
||||||
// decode php_method_uninstall
|
|
||||||
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
|
|
||||||
// decode sql
|
|
||||||
$item->sql = base64_decode($item->sql);
|
|
||||||
// decode sql_uninstall
|
|
||||||
$item->sql_uninstall = base64_decode($item->sql_uninstall);
|
|
||||||
// decode readme
|
// decode readme
|
||||||
$item->readme = base64_decode($item->readme);
|
$item->readme = base64_decode($item->readme);
|
||||||
if ($basickey && !is_numeric($item->crowdin_project_api_key) && $item->crowdin_project_api_key === base64_encode(base64_decode($item->crowdin_project_api_key, true)))
|
if ($basickey && !is_numeric($item->crowdin_project_api_key) && $item->crowdin_project_api_key === base64_encode(base64_decode($item->crowdin_project_api_key, true)))
|
||||||
|
@ -26,6 +26,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
|
|||||||
`addfootable` TINYINT(1) NOT NULL DEFAULT 0,
|
`addfootable` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
`addreadme` TINYINT(1) NOT NULL DEFAULT 0,
|
`addreadme` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
`adduikit` TINYINT(1) NOT NULL DEFAULT 0,
|
`adduikit` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
|
`assets_table_fix` TINYINT(1) NOT NULL DEFAULT 3,
|
||||||
`author` VARCHAR(255) NOT NULL DEFAULT '',
|
`author` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
`bom` CHAR(64) NOT NULL DEFAULT '',
|
`bom` CHAR(64) NOT NULL DEFAULT '',
|
||||||
`buildcomp` TINYINT(1) NOT NULL DEFAULT 0,
|
`buildcomp` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
@ -103,34 +104,35 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` (
|
|||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `idx_system_name` (`system_name`),
|
KEY `idx_system_name` (`system_name`),
|
||||||
KEY `idx_name_code` (`name_code`),
|
KEY `idx_name_code` (`name_code`),
|
||||||
KEY `idx_add_php_helper_admin` (`add_php_helper_admin`),
|
|
||||||
KEY `idx_addfootable` (`addfootable`),
|
|
||||||
KEY `idx_add_sql` (`add_sql`),
|
|
||||||
KEY `idx_add_php_preflight_update` (`add_php_preflight_update`),
|
|
||||||
KEY `idx_add_css_site` (`add_css_site`),
|
|
||||||
KEY `idx_mvc_versiondate` (`mvc_versiondate`),
|
|
||||||
KEY `idx_remove_line_breaks` (`remove_line_breaks`),
|
KEY `idx_remove_line_breaks` (`remove_line_breaks`),
|
||||||
KEY `idx_add_placeholders` (`add_placeholders`),
|
|
||||||
KEY `idx_add_php_helper_site` (`add_php_helper_site`),
|
|
||||||
KEY `idx_add_javascript` (`add_javascript`),
|
|
||||||
KEY `idx_add_php_postflight_update` (`add_php_postflight_update`),
|
|
||||||
KEY `idx_addreadme` (`addreadme`),
|
|
||||||
KEY `idx_debug_linenr` (`debug_linenr`),
|
KEY `idx_debug_linenr` (`debug_linenr`),
|
||||||
KEY `idx_add_license` (`add_license`),
|
KEY `idx_mvc_versiondate` (`mvc_versiondate`),
|
||||||
KEY `idx_license_type` (`license_type`),
|
KEY `idx_add_placeholders` (`add_placeholders`),
|
||||||
KEY `idx_add_php_helper_both` (`add_php_helper_both`),
|
|
||||||
KEY `idx_add_admin_event` (`add_admin_event`),
|
|
||||||
KEY `idx_add_site_event` (`add_site_event`),
|
|
||||||
KEY `idx_add_css_admin` (`add_css_admin`),
|
|
||||||
KEY `idx_add_php_preflight_install` (`add_php_preflight_install`),
|
|
||||||
KEY `idx_add_php_postflight_install` (`add_php_postflight_install`),
|
|
||||||
KEY `idx_add_php_method_uninstall` (`add_php_method_uninstall`),
|
|
||||||
KEY `idx_add_sql_uninstall` (`add_sql_uninstall`),
|
|
||||||
KEY `idx_translation_tool` (`translation_tool`),
|
|
||||||
KEY `idx_add_sales_server` (`add_sales_server`),
|
KEY `idx_add_sales_server` (`add_sales_server`),
|
||||||
KEY `idx_add_email_helper` (`add_email_helper`),
|
KEY `idx_add_email_helper` (`add_email_helper`),
|
||||||
|
KEY `idx_add_license` (`add_license`),
|
||||||
|
KEY `idx_license_type` (`license_type`),
|
||||||
|
KEY `idx_addreadme` (`addreadme`),
|
||||||
|
KEY `idx_translation_tool` (`translation_tool`),
|
||||||
|
KEY `idx_addfootable` (`addfootable`),
|
||||||
|
KEY `idx_add_php_helper_both` (`add_php_helper_both`),
|
||||||
|
KEY `idx_add_php_helper_admin` (`add_php_helper_admin`),
|
||||||
|
KEY `idx_add_admin_event` (`add_admin_event`),
|
||||||
|
KEY `idx_add_php_helper_site` (`add_php_helper_site`),
|
||||||
|
KEY `idx_add_site_event` (`add_site_event`),
|
||||||
|
KEY `idx_add_javascript` (`add_javascript`),
|
||||||
KEY `idx_add_menu_prefix` (`add_menu_prefix`),
|
KEY `idx_add_menu_prefix` (`add_menu_prefix`),
|
||||||
|
KEY `idx_add_css_admin` (`add_css_admin`),
|
||||||
KEY `idx_menu_prefix` (`menu_prefix`),
|
KEY `idx_menu_prefix` (`menu_prefix`),
|
||||||
|
KEY `idx_add_css_site` (`add_css_site`),
|
||||||
|
KEY `idx_add_php_preflight_install` (`add_php_preflight_install`),
|
||||||
|
KEY `idx_add_php_preflight_update` (`add_php_preflight_update`),
|
||||||
|
KEY `idx_add_php_postflight_install` (`add_php_postflight_install`),
|
||||||
|
KEY `idx_add_php_postflight_update` (`add_php_postflight_update`),
|
||||||
|
KEY `idx_add_php_method_uninstall` (`add_php_method_uninstall`),
|
||||||
|
KEY `idx_add_sql` (`add_sql`),
|
||||||
|
KEY `idx_add_sql_uninstall` (`add_sql_uninstall`),
|
||||||
|
KEY `idx_assets_table_fix` (`assets_table_fix`),
|
||||||
KEY `idx_emptycontributors` (`emptycontributors`),
|
KEY `idx_emptycontributors` (`emptycontributors`),
|
||||||
KEY `idx_add_update_server` (`add_update_server`),
|
KEY `idx_add_update_server` (`add_update_server`),
|
||||||
KEY `idx_update_server_target` (`update_server_target`),
|
KEY `idx_update_server_target` (`update_server_target`),
|
||||||
|
@ -48,13 +48,3 @@ DROP TABLE IF EXISTS `#__componentbuilder_joomla_plugin_files_folders_urls`;
|
|||||||
|
|
||||||
DROP TABLE IF EXISTS `#__componentbuilder_external_code`;
|
DROP TABLE IF EXISTS `#__componentbuilder_external_code`;
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Always insure this column rules is reversed to Joomla defaults on uninstall. (as on 1st Dec 2020)
|
|
||||||
--
|
|
||||||
ALTER TABLE `#__assets` CHANGE `rules` `rules` varchar(5120) NOT NULL COMMENT 'JSON encoded access control.';
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Always insure this column name is reversed to Joomla defaults on uninstall. (as on 1st Dec 2020).
|
|
||||||
--
|
|
||||||
ALTER TABLE `#__assets` CHANGE `name` `name` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The unique name for the asset.';
|
|
||||||
|
1
admin/sql/updates/mysql/2.12.1.sql
Normal file
1
admin/sql/updates/mysql/2.12.1.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE `#__componentbuilder_joomla_component` ADD `assets_table_fix` TINYINT(1) NOT NULL DEFAULT 3 AFTER `adduikit`;
|
@ -1,15 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<extension type="component" version="3.2" method="upgrade">
|
<extension type="component" version="3.2" method="upgrade">
|
||||||
<name>COM_COMPONENTBUILDER</name>
|
<name>COM_COMPONENTBUILDER</name>
|
||||||
<creationDate>8th December, 2020</creationDate>
|
<creationDate>10th December, 2020</creationDate>
|
||||||
<author>Llewellyn van der Merwe</author>
|
<author>Llewellyn van der Merwe</author>
|
||||||
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
||||||
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
||||||
<copyright>Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.</copyright>
|
<copyright>Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.</copyright>
|
||||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||||
<version>2.12.1</version>
|
<version>2.12.2</version>
|
||||||
<description><![CDATA[
|
<description><![CDATA[
|
||||||
<h1>Component Builder (v.2.12.1)</h1>
|
<h1>Component Builder (v.2.12.2)</h1>
|
||||||
<div style="clear: both;"></div>
|
<div style="clear: both;"></div>
|
||||||
<p>The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
<p>The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
||||||
|
|
||||||
|
@ -993,7 +993,24 @@
|
|||||||
<version>2.12.1</version>
|
<version>2.12.1</version>
|
||||||
<infourl title="Component Builder!">http://www.joomlacomponentbuilder.com</infourl>
|
<infourl title="Component Builder!">http://www.joomlacomponentbuilder.com</infourl>
|
||||||
<downloads>
|
<downloads>
|
||||||
<downloadurl type="full" format="zip">https://github.com/vdm-io/Joomla-Component-Builder/releases/download/v2.12.1/JCB_v2.12.1.zip</downloadurl>
|
<downloadurl type="full" format="zip">https://github.com/vdm-io/Joomla-Component-Builder/releases/download/v2.12.2/JCB_v2.12.2.zip</downloadurl>
|
||||||
|
</downloads>
|
||||||
|
<tags>
|
||||||
|
<tag>stable</tag>
|
||||||
|
</tags>
|
||||||
|
<maintainer>Llewellyn van der Merwe</maintainer>
|
||||||
|
<maintainerurl>http://www.joomlacomponentbuilder.com</maintainerurl>
|
||||||
|
<targetplatform name="joomla" version="3.*"/>
|
||||||
|
</update>
|
||||||
|
<update>
|
||||||
|
<name>Component Builder</name>
|
||||||
|
<description>Builds Complex Joomla Components</description>
|
||||||
|
<element>com_componentbuilder</element>
|
||||||
|
<type>component</type>
|
||||||
|
<version>2.12.2</version>
|
||||||
|
<infourl title="Component Builder!">http://www.joomlacomponentbuilder.com</infourl>
|
||||||
|
<downloads>
|
||||||
|
<downloadurl type="full" format="zip">https://github.com/vdm-io/Joomla-Component-Builder/releases/download/v2.12.2/JCB_v2.12.2.zip</downloadurl>
|
||||||
</downloads>
|
</downloads>
|
||||||
<tags>
|
<tags>
|
||||||
<tag>stable</tag>
|
<tag>stable</tag>
|
||||||
|
309
script.php
309
script.php
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user