Resolves gh-53 with stable export & import of fully mapped components. Key export & import encryption and forced update switch, with error and waring messages has been added.

This commit is contained in:
2017-03-28 16:57:59 +02:00
parent 8b522f44d9
commit f61bb46073
196 changed files with 1172 additions and 899 deletions

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage ajax.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage adminviewfolderlist.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage adminviews.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage articles.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage component.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage customadminviews.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage customfilelist.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage customfolderlist.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage customgets.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage dbtables.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage dynamicgets.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fields.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fieldsmulti.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fieldtypes.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage maingets.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage siteviewfolderlist.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage siteviews.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage snippets.php

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 182 of this MVC
@build 27th March, 2017
@version @update number 214 of this MVC
@build 28th March, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_component.js

View File

@ -178,19 +178,8 @@
message="Error! Please add author name here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT"
/>
<!-- Update_server_ftp Field. Type: Text. (joomla) -->
<field
type="text"
name="update_server_ftp"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_FTP_LABEL"
size="150"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_FTP_DESCRIPTION"
class="text_area span12"
filter="STRING"
message="Error! Please add some text here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_FTP_HINT"
/>
<!-- Note_update_server_note_zip Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_zip" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_ZIP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_ZIP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_zip" />
<!-- Add_placeholders Field. Type: Radio. (joomla) -->
<field
type="radio"
@ -206,17 +195,17 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Php_postflight_install Field. Type: Textarea. (joomla) -->
<!-- Php_preflight_update Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_postflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_LABEL"
name="php_preflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_DESCRIPTION"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_HINT"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_HINT"
required="true"
/>
<!-- Description Field. Type: Textarea. (joomla) -->
@ -231,11 +220,11 @@
filter="HTML"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_HINT"
/>
<!-- Add_php_dashboard_methods Field. Type: Radio. (joomla) -->
<!-- Add_site_event Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_dashboard_methods"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_DASHBOARD_METHODS_LABEL"
name="add_site_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SITE_EVENT_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -259,17 +248,17 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT"
required="true"
/>
<!-- Readme Field. Type: Editor. (joomla) -->
<!-- Sql Field. Type: Textarea. (joomla) -->
<field
type="editor"
name="readme"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL"
default="You can use all the normal markdown, including the place-holders."
width="100%"
height="1200px"
buttons="false"
editor="none"
type="textarea"
name="sql"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT"
required="true"
/>
<!-- Debug_linenr Field. Type: Radio. (joomla) -->
@ -302,95 +291,144 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Creatuserhelper Field. Type: Radio. (joomla) -->
<!-- Name Field. Type: Text. (joomla) -->
<field
type="radio"
name="creatuserhelper"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATUSERHELPER_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
type="text"
name="name"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="Error! Please add component name here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_HINT"
/>
<!-- Dashboard_tab Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
name="dashboard_tab"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_TAB_LABEL"
id="dashboard_tab"
class="dashboard_tabs"
select="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_TAB_SELECT"
icon="list"
maximum="5"
filter="raw">
<fields name="dashboard_tab_fields" label="">
<fieldset hidden="true" name="dashboard_tab_modal" repeat="true">
<!-- Name Field. Type: Text. (joomla) -->
<field
type="text"
name="name"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="STRING"
message="Error! Please add name here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_HINT"
/>
<!-- Header Field. Type: Text. (joomla) -->
<field
type="text"
name="header"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HEADER_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HEADER_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="STRING"
message="Error! Please add header here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HEADER_HINT"
/>
<!-- Html Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="html"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HTML_LABEL"
rows="20"
cols="15"
class="text_area span6"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HTML_HINT"
required="false"
/>
</fieldset>
</fields>
</field>
<!-- Php_preflight_install Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_preflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_HINT"
required="true"
/>
<!-- Css Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="css"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_HINT"
required="true"
/>
<!-- Php_method_uninstall Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_method_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_HINT"
required="true"
/>
<!-- Add_php_helper_admin Field. Type: Radio. (joomla) -->
<!-- Addfootable Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_helper_admin"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_ADMIN_LABEL"
name="addfootable"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDFOOTABLE_LABEL"
class="btn-group btn-group-yesno"
default="0"
default="3"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Update_server_target Field. Type: Radio. (joomla) -->
<field
type="radio"
name="update_server_target"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_TARGET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_TARGET_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_FTP</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ZIP</option>
<option value="3">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OTHER</option>
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_VTHREE</option>
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_VTWO</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Add_php_helper_site Field. Type: Radio. (joomla) -->
<!-- Php_postflight_update Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_HINT"
required="true"
/>
<!-- Add_php_helper_both Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_helper_site"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_SITE_LABEL"
name="add_php_helper_both"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Add_update_server Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_update_server"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Add_admin_event Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_admin_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_ADMIN_EVENT_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -474,19 +512,17 @@
message="Error! Please author email address here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_HINT"
/>
<!-- Addfootable Field. Type: Radio. (joomla) -->
<!-- Creatuserhelper Field. Type: Radio. (joomla) -->
<field
type="radio"
name="addfootable"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDFOOTABLE_LABEL"
name="creatuserhelper"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CREATUSERHELPER_LABEL"
class="btn-group btn-group-yesno"
default="3"
default="0"
required="true">
<!-- Option Set. -->
<option value="3">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_VTHREE</option>
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_VTWO</option>
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
@ -505,20 +541,19 @@
message="Error! Please add website here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_HINT"
/>
<!-- Add_php_helper_both Field. Type: Radio. (joomla) -->
<!-- Css Field. Type: Textarea. (joomla) -->
<field
type="radio"
name="add_php_helper_both"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
type="textarea"
name="css"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_HINT"
required="true"
/>
<!-- Add_license Field. Type: Radio. (joomla) -->
<field
type="radio"
@ -534,11 +569,11 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Add_admin_event Field. Type: Radio. (joomla) -->
<!-- Add_php_helper_admin Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_admin_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_ADMIN_EVENT_LABEL"
name="add_php_helper_admin"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_ADMIN_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -569,11 +604,11 @@
<option value="4">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CUSTOM_USED_IN_CUSTOM_CODE</option>
</field>
<!-- Add_site_event Field. Type: Radio. (joomla) -->
<!-- Add_php_helper_site Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_site_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SITE_EVENT_LABEL"
name="add_php_helper_site"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_SITE_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -585,65 +620,19 @@
</field>
<!-- Note_whmcs_lisencing_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_whmcs_lisencing_note" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_WHMCS_LISENCING_NOTE_DESCRIPTION" heading="h4" class="alert alert-success note_whmcs_lisencing_note" />
<!-- Dashboard_tab Field. Type: Repeatable. (joomla) -->
<!-- Add_php_dashboard_methods Field. Type: Radio. (joomla) -->
<field
type="repeatable"
name="dashboard_tab"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_TAB_LABEL"
id="dashboard_tab"
class="dashboard_tabs"
select="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DASHBOARD_TAB_SELECT"
icon="list"
maximum="5"
filter="raw">
<fields name="dashboard_tab_fields" label="">
<fieldset hidden="true" name="dashboard_tab_modal" repeat="true">
<!-- Name Field. Type: Text. (joomla) -->
<field
type="text"
name="name"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="STRING"
message="Error! Please add name here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_HINT"
/>
<!-- Header Field. Type: Text. (joomla) -->
<field
type="text"
name="header"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HEADER_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HEADER_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="STRING"
message="Error! Please add header here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HEADER_HINT"
/>
<!-- Html Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="html"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HTML_LABEL"
rows="20"
cols="15"
class="text_area span6"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_HTML_HINT"
required="false"
/>
</fieldset>
</fields>
type="radio"
name="add_php_dashboard_methods"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_DASHBOARD_METHODS_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Whmcs_key Field. Type: Text. (joomla) -->
<field
@ -658,17 +647,17 @@
message="Error! Please add some secret key here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_HINT"
/>
<!-- Php_preflight_update Field. Type: Textarea. (joomla) -->
<!-- Php_preflight_install Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_preflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL"
name="php_preflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_DESCRIPTION"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_HINT"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_HINT"
required="true"
/>
<!-- Whmcs_url Field. Type: Url. (joomla) -->
@ -685,17 +674,17 @@
message="Error! Please add website here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_HINT"
/>
<!-- Php_postflight_update Field. Type: Textarea. (joomla) -->
<!-- Php_postflight_install Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_LABEL"
name="php_postflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_DESCRIPTION"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_HINT"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_HINT"
required="true"
/>
<!-- License Field. Type: Textarea. (joomla) -->
@ -712,17 +701,17 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_HINT"
required="true"
/>
<!-- Sql Field. Type: Textarea. (joomla) -->
<!-- Php_method_uninstall Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="sql"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_DESCRIPTION"
name="php_method_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_HINT"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_HINT"
required="true"
/>
<!-- Bom Field. Type: Filelist. (joomla) -->
@ -735,20 +724,19 @@
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_DESCRIPTION"
hide_default="true"
/>
<!-- Add_update_server Field. Type: Radio. (joomla) -->
<!-- Readme Field. Type: Editor. (joomla) -->
<field
type="radio"
name="add_update_server"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_UPDATE_SERVER_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
type="editor"
name="readme"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL"
default="You can use all the normal markdown, including the place-holders."
width="100%"
height="1200px"
buttons="false"
editor="none"
filter="raw"
required="true"
/>
<!-- Image Field. Type: Media. (joomla) -->
<field
type="media"
@ -757,22 +745,22 @@
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION"
directory=""
/>
<!-- Note_update_server_note_zip Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_zip" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_ZIP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_ZIP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_zip" />
<!-- Buildcomp Field. Type: Radio. (joomla) -->
<!-- Update_server_target Field. Type: Radio. (joomla) -->
<field
type="radio"
name="buildcomp"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_DESCRIPTION"
name="update_server_target"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_TARGET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_TARGET_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
default="1"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_FTP</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ZIP</option>
<option value="3">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_OTHER</option>
</field>
<!-- Sales_server_ftp Field. Type: Text. (joomla) -->
<field
@ -788,37 +776,33 @@
message="Error! Please add some text here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_FTP_HINT"
/>
<!-- Update_server_ftp Field. Type: Text. (joomla) -->
<field
type="text"
name="update_server_ftp"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_FTP_LABEL"
size="150"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_FTP_DESCRIPTION"
class="text_area span12"
filter="STRING"
message="Error! Please add some text here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_FTP_HINT"
/>
<!-- Not_required Field. Type: Hidden. (joomla) -->
<field
type="hidden"
name="not_required"
default="[]"
/>
<!-- Name Field. Type: Text. (joomla) -->
<field
type="text"
name="name"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="Error! Please add component name here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NAME_HINT"
/>
<!-- Note_on_views Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_on_views" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_VIEWS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_VIEWS_DESCRIPTION" heading="h4" class="alert alert-info note_on_views" close="false" />
<!-- Adduikit Field. Type: Radio. (joomla) -->
<!-- Buildcomp Field. Type: Radio. (joomla) -->
<field
type="radio"
name="adduikit"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDUIKIT_LABEL"
name="buildcomp"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
@ -826,6 +810,22 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Note_on_views Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_on_views" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_VIEWS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_VIEWS_DESCRIPTION" heading="h4" class="alert alert-info note_on_views" close="false" />
<!-- Export_key Field. Type: Text. (joomla) -->
<field
type="text"
name="export_key"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_KEY_LABEL"
size="150"
maxlength="265"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_KEY_DESCRIPTION"
class="text_area"
required="false"
filter="STRING"
message="Error! Please add export key here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_KEY_HINT"
/>
<!-- Addadmin_views Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
@ -1437,13 +1437,13 @@
</fieldset>
</fields>
</field>
<!-- Add_css Field. Type: Radio. (joomla) -->
<!-- Adduikit Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_css"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_CSS_LABEL"
name="adduikit"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDUIKIT_LABEL"
class="btn-group btn-group-yesno"
default="0"
default="1"
required="true">
<!-- Option Set. -->
<option value="1">
@ -2000,12 +2000,11 @@
</fieldset>
</fields>
</field>
<!-- Add_email_helper Field. Type: Radio. (joomla) -->
<!-- Add_css Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_email_helper"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_DESCRIPTION"
name="add_css"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_CSS_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -2098,6 +2097,23 @@
</fieldset>
</fields>
</field>
<!-- Add_email_helper Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_email_helper"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_EMAIL_HELPER_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Spacer_hr_a Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_a" hr="true" class="spacer_hr_a" />
<!-- Php_helper_both Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -2111,8 +2127,8 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_BOTH_HINT"
required="true"
/>
<!-- Spacer_hr_a Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_a" hr="true" class="spacer_hr_a" />
<!-- Note_mysql_tweak_options Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_mysql_tweak_options" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_DESCRIPTION" heading="h4" class="alert alert-info note_mysql_tweak_options" close="false" />
<!-- Php_helper_admin Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -2126,21 +2142,6 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_ADMIN_HINT"
required="true"
/>
<!-- Note_mysql_tweak_options Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_mysql_tweak_options" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_MYSQL_TWEAK_OPTIONS_DESCRIPTION" heading="h4" class="alert alert-info note_mysql_tweak_options" close="false" />
<!-- Php_admin_event Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_admin_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_HINT"
required="true"
/>
<!-- Sql_tweak Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
@ -2213,6 +2214,21 @@
</fieldset>
</fields>
</field>
<!-- Php_admin_event Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_admin_event"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_HINT"
required="true"
/>
<!-- Spacer_hr_b Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_b" hr="true" class="spacer_hr_b" />
<!-- Php_helper_site Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -2226,8 +2242,8 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_HINT"
required="true"
/>
<!-- Spacer_hr_b Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_b" hr="true" class="spacer_hr_b" />
<!-- Note_add_custom_menus Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_custom_menus" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CUSTOM_MENUS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CUSTOM_MENUS_DESCRIPTION" heading="h4" class="alert alert-info note_add_custom_menus" close="false" />
<!-- Php_site_event Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -2241,21 +2257,6 @@
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_HINT"
required="true"
/>
<!-- Note_add_custom_menus Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_custom_menus" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CUSTOM_MENUS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CUSTOM_MENUS_DESCRIPTION" heading="h4" class="alert alert-info note_add_custom_menus" close="false" />
<!-- Php_dashboard_methods Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_dashboard_methods"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_DASHBOARD_METHODS_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_DASHBOARD_METHODS_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_DASHBOARD_METHODS_HINT"
required="true"
/>
<!-- Addcustommenus Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
@ -2379,6 +2380,21 @@
</fieldset>
</fields>
</field>
<!-- Php_dashboard_methods Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_dashboard_methods"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_DASHBOARD_METHODS_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_DASHBOARD_METHODS_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_DASHBOARD_METHODS_HINT"
required="true"
/>
<!-- Spacer_hr_c Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_c" hr="true" class="spacer_hr_c" />
<!-- Add_php_preflight_install Field. Type: Radio. (joomla) -->
<field
type="radio"
@ -2393,8 +2409,8 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Spacer_hr_c Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_c" hr="true" class="spacer_hr_c" />
<!-- Note_add_config Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_config" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CONFIG_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CONFIG_DESCRIPTION" heading="h4" class="alert alert-info note_add_config" close="false" />
<!-- Add_php_preflight_update Field. Type: Radio. (joomla) -->
<field
type="radio"
@ -2409,22 +2425,6 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Note_add_config Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_config" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CONFIG_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_CONFIG_DESCRIPTION" heading="h4" class="alert alert-info note_add_config" close="false" />
<!-- Add_php_postflight_install Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_postflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_POSTFLIGHT_INSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Addconfig Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
@ -2484,11 +2484,11 @@
</fieldset>
</fields>
</field>
<!-- Add_php_postflight_update Field. Type: Radio. (joomla) -->
<!-- Add_php_postflight_install Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_POSTFLIGHT_UPDATE_LABEL"
name="add_php_postflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_POSTFLIGHT_INSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -2500,11 +2500,11 @@
</field>
<!-- Note_on_contributors Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_on_contributors" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_CONTRIBUTORS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ON_CONTRIBUTORS_DESCRIPTION" heading="h4" class="alert alert-info note_on_contributors" close="false" />
<!-- Add_php_method_uninstall Field. Type: Radio. (joomla) -->
<!-- Add_php_postflight_update Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_method_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_METHOD_UNINSTALL_LABEL"
name="add_php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_POSTFLIGHT_UPDATE_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -2630,11 +2630,11 @@
</fieldset>
</fields>
</field>
<!-- Add_sql Field. Type: Radio. (joomla) -->
<!-- Add_php_method_uninstall Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_sql"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SQL_LABEL"
name="add_php_method_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_METHOD_UNINSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
@ -2658,13 +2658,14 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Addreadme Field. Type: Radio. (joomla) -->
<!-- Add_sql Field. Type: Radio. (joomla) -->
<field
type="radio"
name="addreadme"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDREADME_LABEL"
name="add_sql"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SQL_LABEL"
class="btn-group btn-group-yesno"
default="0">
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
@ -2682,10 +2683,25 @@
max="40"
step="1"
/>
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
<!-- Addreadme Field. Type: Radio. (joomla) -->
<field
type="radio"
name="addreadme"
label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADDREADME_LABEL"
class="btn-group btn-group-yesno"
default="0">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Spacer_hr_d Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_d" hr="true" class="spacer_hr_d" />
<!-- Note_readme Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_readme" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_README_DESCRIPTION" heading="h4" class="note_readme" />
<!-- Note_add_files Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_files" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FILES_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FILES_DESCRIPTION" heading="h4" class="alert alert-info note_add_files" close="false" />
<!-- Update_server Field. Type: Url. (joomla) -->
<field
type="url"
@ -2700,10 +2716,6 @@
message="Error! Please add url here."
hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_HINT"
/>
<!-- Note_add_files Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_files" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FILES_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FILES_DESCRIPTION" heading="h4" class="alert alert-info note_add_files" close="false" />
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
<!-- Addfiles Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
@ -2762,10 +2774,14 @@
</fieldset>
</fields>
</field>
<!-- Note_update_server_note_other Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_other" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_other" />
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
<!-- Spacer_hr_e Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_e" hr="true" class="spacer_hr_e" />
<!-- Note_update_server_note_other Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_other" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_UPDATE_SERVER_NOTE_OTHER_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_other" />
<!-- Note_add_folders Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_folders" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FOLDERS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FOLDERS_DESCRIPTION" heading="h4" class="alert alert-info note_add_folders" close="false" />
<!-- Add_sales_server Field. Type: Radio. (joomla) -->
<field
type="radio"
@ -2780,10 +2796,6 @@
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO</option>
</field>
<!-- Note_add_folders Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_folders" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FOLDERS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_ADD_FOLDERS_DESCRIPTION" heading="h4" class="alert alert-info note_add_folders" close="false" />
<!-- Note_buildcomp_dynamic Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_buildcomp_dynamic" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_DESCRIPTION" heading="h4" class="alert note_buildcomp_dynamic" />
<!-- Addfolders Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
@ -2841,6 +2853,10 @@
</fieldset>
</fields>
</field>
<!-- Note_buildcomp_dynamic Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_buildcomp_dynamic" label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NOTE_BUILDCOMP_DYNAMIC_DESCRIPTION" heading="h4" class="alert note_buildcomp_dynamic" />
<!-- Spacer_hr_f Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_f" hr="true" class="spacer_hr_f" />
<!-- Buildcompsql Field. Type: Textarea. (joomla) -->
<field
type="textarea"

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.3.8
@build 27th March, 2017
@version 2.3.9
@build 28th March, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import_joomla_components.php
@ -80,8 +80,12 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
parent::populateState();
}
protected $app;
protected $target = false;
protected $newID = array();
protected $forceUpdate = 0;
protected $hasKey = 0;
protected $sleutle = null;
/**
* Import an spreadsheet from either folder, url or upload.
@ -92,12 +96,12 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
public function import()
{
$this->setState('action', 'import');
$app = JFactory::getApplication();
$this->app = JFactory::getApplication();
$session = JFactory::getSession();
$package = null;
$continue = false;
// get import type
$this->getType = $app->input->getString('gettype', NULL);
$this->getType = $this->app->input->getString('gettype', NULL);
// get import type
$this->dataType = $session->get('dataType_VDM_IMPORTINTO', NULL);
@ -111,7 +115,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
{
case 'folder':
// Remember the 'Import from Directory' path.
$app->getUserStateFromRequest($this->_context . '.import_directory', 'import_directory');
$this->app->getUserStateFromRequest($this->_context . '.import_directory', 'import_directory');
$package = $this->_getPackageFromFolder();
break;
@ -135,7 +139,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
break;
default:
$app->setUserState('com_componentbuilder.message', JText::_('COM_COMPONENTBUILDER_IMPORT_NO_IMPORT_TYPE_FOUND'));
$this->app->setUserState('com_componentbuilder.message', JText::_('COM_COMPONENTBUILDER_IMPORT_NO_IMPORT_TYPE_FOUND'));
return false;
break;
}
@ -148,7 +152,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
$this->remove($package['packagename']);
}
$app->setUserState('com_componentbuilder.message', JText::_('COM_COMPONENTBUILDER_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE'));
$this->app->setUserState('com_componentbuilder.message', JText::_('COM_COMPONENTBUILDER_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE'));
return false;
}
@ -168,15 +172,22 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
else
{
$headerList = null;
// force update
$this->forceUpdate = $this->app->input->getInt('force_update', 0);
// has a key
$this->hasKey = $this->app->input->getInt('haskey', 0);
// die sleutle
$this->sleutle = $this->app->input->getString('sleutle', NULL);
}
if (!$this->setData($package, $headerList))
{
// There was an error importing the package
$msg = JText::_('COM_COMPONENTBUILDER_IMPORT_ERROR');
$msgType = 'error';
$back = $session->get('backto_VDM_IMPORT', NULL);
if ($back)
{
$app->setUserState('com_componentbuilder.redirect_url', 'index.php?option=com_componentbuilder&view='.$back);
$this->app->setUserState('com_componentbuilder.redirect_url', 'index.php?option=com_componentbuilder&view='.$back);
$session->clear('backto_VDM_IMPORT');
}
$result = false;
@ -185,17 +196,18 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
{
// Package imported sucessfully
$msg = JText::sprintf('COM_COMPONENTBUILDER_IMPORT_SUCCESS', $package['packagename']);
$msgType = 'success';
$back = $session->get('backto_VDM_IMPORT', NULL);
if ($back)
{
$app->setUserState('com_componentbuilder.redirect_url', 'index.php?option=com_componentbuilder&view='.$back);
$this->app->setUserState('com_componentbuilder.redirect_url', 'index.php?option=com_componentbuilder&view='.$back);
$session->clear('backto_VDM_IMPORT');
}
$result = true;
}
// Set some model state values
$app->enqueueMessage($msg);
// Set message to qeue
$this->app->enqueueMessage($msg, $msgType);
// remove file after import
$this->remove($package['packagename']);
@ -495,14 +507,16 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
if ($data = @file_get_contents($dbFile))
{
// prep the data
$data = unserialize($data);
if (isset($data['joomla_component']) && ComponentbuilderHelper::checkArray($data['joomla_component']))
if ($data = $this->extractData($data))
{
// save the smart data
if ($this->saveSmartComponents($data, $dir))
if (isset($data['joomla_component']) && ComponentbuilderHelper::checkArray($data['joomla_component']))
{
ComponentbuilderHelper::removeFolder($dir);
return true;
// save the smart data
if ($this->saveSmartComponents($data, $dir))
{
ComponentbuilderHelper::removeFolder($dir);
return true;
}
}
}
}
@ -512,6 +526,50 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
}
return false;
}
/**
* Extract the data from the string
*
* @param string $data The data string
*
* @return object false on failure
*
**/
protected function extractData($data)
{
// remove all line breaks
$data = str_replace("\n", '', $data);
// make sure we have base64
if ($data === base64_encode(base64_decode($data, true)))
{
// open the data
if($this->hasKey == 1 && ComponentbuilderHelper::checkString($this->sleutle) && strlen($this->sleutle) == 32)
{
// Get the encryption object.
$opener = new FOFEncryptAes($this->sleutle, 128);
$data = rtrim($opener->decryptString($data), "\0");
}
elseif($this->hasKey == 0)
{
$data = base64_decode($data);
}
else
{
$this->app->enqueueMessage(JText::_('COM_COMPONENTBUILDER_HTWOKEY_ERRORHTWOPLEASE_PROVIDE_THE_CORRECT_KEY_TO_IMPORT_THIS_PACKAGE'), 'error');
return false;
}
// final check if we have success
$data = @unserialize($data);
if ($data !== false)
{
return $data;
}
$this->app->enqueueMessage(JText::_('COM_COMPONENTBUILDER_HTWODATA_IS_CORRUPTHTWOTHIS_COULD_BE_DUE_TO_KEY_ERROR_OR_BROKEN_PACKAGE'), 'error');
return false;
}
$this->app->enqueueMessage(JText::_('COM_COMPONENTBUILDER_HTWODATA_IS_CORRUPTHTWOTHIS_COULD_BE_DUE_TO_BROKEN_PACKAGE'), 'error');
return false;
}
/**
@ -603,19 +661,28 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
// set custom folder path
$customPath = $params->get('custom_folder_path', JPATH_COMPONENT_ADMINISTRATOR.'/custom');
$imagesPath = JPATH_SITE . '/images';
$success = true;
// check if we have custom files
if (JFolder::exists($dir . '/custom'))
{
// great we have some custom stuff lets move it
JFolder::copy($dir . '/custom', $customPath,'',true);
if (!JFolder::copy($dir . '/custom', $customPath,'',true))
{
$this->app->enqueueMessage(JText::_('COM_COMPONENTBUILDER_BCUSTOM_FILESB_NOT_MOVE_TO_CORRECT_LOCATION'), 'error');
$success = false;
}
}
// check if we have images
if (JFolder::exists($dir . '/images'))
{
// great we have some images lets move them
JFolder::copy($dir . '/images', $imagesPath,'',true);
if (!JFolder::copy($dir . '/images', $imagesPath,'',true))
{
$this->app->enqueueMessage(JText::_('COM_COMPONENTBUILDER_BIMAGESB_NOT_MOVE_TO_CORRECT_LOCATION'), 'error');
$success = false;
}
}
return true;
return $success;
}
/**
@ -632,6 +699,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
**/
protected function saveSmartItems(&$items, $type, &$db, &$user, &$today)
{
$success = true;
if (isset($items[$type]) && ComponentbuilderHelper::checkArray($items[$type]))
{
// get global action permissions
@ -643,37 +711,52 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
{
$oldID = $item->id;
// first check if exist
if ($canEdit && $local = $this->getLocalItem($item, $type, $db, true))
if ($local = $this->getLocalItem($item, $type, $db, true))
{
$dbDate = strtotime($item->modified);
$localDate = strtotime($local->modified);
// okay we have it local (check if the version is newer)
if ($dbDate > $localDate) /// hmmm not sure about this... may cause issues <-- lets see (some may even want to override the local version even if it is newer) TODO (add switch)
if ($this->forceUpdate == 1 || $dbDate > $localDate)
{
// make sure we have the correct ID set
$item->id = $local->id;
// yes it is newer, lets update
if ($id = $this->updateLocalItem($item, $type, $db, $user, $today, $canState))
if ($canEdit && $id = $this->updateLocalItem($item, $type, $db, $user, $today, $canState))
{
$this->newID[$type][$oldID] = $id;
}
// we must add some error handler here
else
{
$notice = '!';
if (!$canEdit)
{
$notice = JText::sprintf("COM_COMPONENTBUILDER__SINCE_YOU_DONT_HAVE_PERMISSION_TO_EDIT_S", $type);
}
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BSB_COULD_NOT_BE_IMPORTEDS', $type.' id:'.$oldID, $notice), 'error');
}
}
else
{
$this->newID[$type][$oldID] = $local->id;
}
// we must add some notice handler here
}
elseif ($canCreate && $id = $this->addLocalItem($item, $type, $db, $user, $today))
{
// not found in local db so add
$this->newID[$type][$oldID] = $id;
}
// we must add some error handler here
else
{
$notice = '!';
if (!$canCreate)
{
$notice = JText::sprintf("COM_COMPONENTBUILDER__SINCE_YOU_DONT_HAVE_PERMISSION_TO_CREATE_S", $type);
}
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BSB_COULD_NOT_BE_IMPORTEDS', $type.' id:'.$oldID, $notice), 'error');
}
}
}
return true;
return $success;
}
/**
@ -715,7 +798,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BFIELD_TYPEB_IDS_MISMATCH_IN_BSB', $item->fieldtype, ComponentbuilderHelper::safeString($type, 'w').':'.$item->id), 'error');
return false;
}
break;
@ -729,7 +812,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BVIEW_TABLE_MAINB_IDS_MISMATCH_IN_BSB', $item->view_table_main, ComponentbuilderHelper::safeString($type, 'w').':'.$item->id), 'error');
return false;
}
}
@ -745,8 +828,8 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
$join_view_table['view_table'][$nr] = $this->newID['admin_view'][$id];
}
else
{
// we must add some error handler here
{
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BJOIN_VIEW_TABLE_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BVIEW_TABLEB_SO_THE_IDS_WAS_REMOVED', '('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
$join_view_table['view_table'][$nr] = '';
}
}
@ -779,7 +862,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BMAIN_GETB_IDS_MISMATCH_IN_BSB', $item->main_get, ComponentbuilderHelper::safeString($type, 'w').':'.$item->id), 'error');
return false;
}
// update the dynamic_get
@ -804,7 +887,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BCUSTOM_GET_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BDYNAMIC_GETB_SO_THE_IDS_WAS_REMOVED', '('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
unset($custom_get[$nr]);
}
}
@ -841,7 +924,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BFIELD_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BFIELDB_SO_THE_IDS_WAS_REMOVED', '('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
$addfields['field'][$nr] = '';
}
}
@ -883,17 +966,24 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
$targets = array('target_field', 'match_field');
foreach ($targets as $target)
{
foreach ($addconditions[$target] as $nr => $id)
foreach ($addconditions[$target] as $nr => $ids)
{
// update the addconditions
if (isset($this->newID['field'][$id]))
if (!ComponentbuilderHelper::checkArray($ids))
{
$addconditions[$target][$nr] = $this->newID['field'][$id];
$ids = array((int) $ids);
}
else
foreach ($ids as $id)
{
// we must add some error handler here
$addconditions[$target][$nr] = '';
if (isset($this->newID['field'][$id]))
{
$addconditions[$target][$nr] = $this->newID['field'][$id];
}
else
{
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BSB_HAS_ID_MISMATCH_OF_SELECTED_BFIELDB_SO_THE_IDS_WAS_REMOVED', ComponentbuilderHelper::safeString($target, 'Ww') . ' in ('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
$addconditions[$target][$nr] = '';
}
}
}
}
@ -919,7 +1009,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BCONFIG_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BFIELDB_SO_THE_IDS_WAS_REMOVED', '('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
$addconfig['field'][$nr] = '';
}
}
@ -939,7 +1029,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BADMIN_VIEW_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BADMIN_VIEWB_SO_THE_IDS_WAS_REMOVED', '('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
$addadmin_views['adminview'][$nr] = '';
}
}
@ -963,7 +1053,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BCUSTOM_ADMIN_VIEW_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BCUSTOM_ADMIN_VIEWB_SO_THE_IDS_WAS_REMOVED', '('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
$addcustom_admin_views['customadminview'][$nr] = '';
}
}
@ -983,7 +1073,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
}
else
{
// we must add some error handler here
$this->app->enqueueMessage(JText::sprintf('COM_COMPONENTBUILDER_BSITE_VIEW_IN_SB_HAS_ID_MISMATCH_OF_SELECTED_BSITE_VIEWB_SO_THE_IDS_WAS_REMOVED', '('.ComponentbuilderHelper::safeString($type, 'w').':'.$item->id.')', $id), 'warning');
$addsite_views['siteview'][$nr] = '';
}
}

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 182 of this MVC
@build 27th March, 2017
@version @update number 214 of this MVC
@build 28th March, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_component.php
@ -95,52 +95,52 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
$item->metadata = $registry->toArray();
}
if (!empty($item->php_postflight_install))
{
// base64 Decode php_postflight_install.
$item->php_postflight_install = base64_decode($item->php_postflight_install);
}
if (!empty($item->readme))
{
// base64 Decode readme.
$item->readme = base64_decode($item->readme);
}
if (!empty($item->php_preflight_install))
{
// base64 Decode php_preflight_install.
$item->php_preflight_install = base64_decode($item->php_preflight_install);
}
if (!empty($item->css))
{
// base64 Decode css.
$item->css = base64_decode($item->css);
}
if (!empty($item->php_method_uninstall))
{
// base64 Decode php_method_uninstall.
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
}
if (!empty($item->php_preflight_update))
{
// base64 Decode php_preflight_update.
$item->php_preflight_update = base64_decode($item->php_preflight_update);
}
if (!empty($item->sql))
{
// base64 Decode sql.
$item->sql = base64_decode($item->sql);
}
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->css))
{
// base64 Decode sql.
$item->sql = base64_decode($item->sql);
// base64 Decode css.
$item->css = base64_decode($item->css);
}
if (!empty($item->php_preflight_install))
{
// base64 Decode php_preflight_install.
$item->php_preflight_install = base64_decode($item->php_preflight_install);
}
if (!empty($item->php_postflight_install))
{
// base64 Decode php_postflight_install.
$item->php_postflight_install = base64_decode($item->php_postflight_install);
}
if (!empty($item->php_method_uninstall))
{
// base64 Decode php_method_uninstall.
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
}
if (!empty($item->readme))
{
// base64 Decode readme.
$item->readme = base64_decode($item->readme);
}
if (!empty($item->php_helper_both))
@ -190,12 +190,6 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
// Get the encription object.
$basic = new FOFEncryptAes($basickey, 128);
if (!empty($item->update_server_ftp) && $basickey && !is_numeric($item->update_server_ftp) && $item->update_server_ftp === base64_encode(base64_decode($item->update_server_ftp, true)))
{
// basic decript data update_server_ftp.
$item->update_server_ftp = rtrim($basic->decryptString($item->update_server_ftp), "\0");
}
if (!empty($item->whmcs_key) && $basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true)))
{
// basic decript data whmcs_key.
@ -206,6 +200,18 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
{
// basic decript data sales_server_ftp.
$item->sales_server_ftp = rtrim($basic->decryptString($item->sales_server_ftp), "\0");
}
if (!empty($item->update_server_ftp) && $basickey && !is_numeric($item->update_server_ftp) && $item->update_server_ftp === base64_encode(base64_decode($item->update_server_ftp, true)))
{
// basic decript data update_server_ftp.
$item->update_server_ftp = rtrim($basic->decryptString($item->update_server_ftp), "\0");
}
if (!empty($item->export_key) && $basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
{
// basic decript data export_key.
$item->export_key = rtrim($basic->decryptString($item->export_key), "\0");
}
if (!empty($item->id))
@ -1252,52 +1258,52 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
$data['metadata'] = (string) $metadata;
}
// Set the php_postflight_install string to base64 string.
if (isset($data['php_postflight_install']))
{
$data['php_postflight_install'] = base64_encode($data['php_postflight_install']);
}
// Set the readme string to base64 string.
if (isset($data['readme']))
{
$data['readme'] = base64_encode($data['readme']);
}
// Set the php_preflight_install string to base64 string.
if (isset($data['php_preflight_install']))
{
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
}
// Set the css string to base64 string.
if (isset($data['css']))
{
$data['css'] = base64_encode($data['css']);
}
// Set the php_method_uninstall string to base64 string.
if (isset($data['php_method_uninstall']))
{
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
}
// Set the php_preflight_update string to base64 string.
if (isset($data['php_preflight_update']))
{
$data['php_preflight_update'] = base64_encode($data['php_preflight_update']);
}
// Set the sql string to base64 string.
if (isset($data['sql']))
{
$data['sql'] = base64_encode($data['sql']);
}
// 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.
if (isset($data['sql']))
// Set the css string to base64 string.
if (isset($data['css']))
{
$data['sql'] = base64_encode($data['sql']);
$data['css'] = base64_encode($data['css']);
}
// Set the php_preflight_install string to base64 string.
if (isset($data['php_preflight_install']))
{
$data['php_preflight_install'] = base64_encode($data['php_preflight_install']);
}
// Set the php_postflight_install string to base64 string.
if (isset($data['php_postflight_install']))
{
$data['php_postflight_install'] = base64_encode($data['php_postflight_install']);
}
// Set the php_method_uninstall string to base64 string.
if (isset($data['php_method_uninstall']))
{
$data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']);
}
// Set the readme string to base64 string.
if (isset($data['readme']))
{
$data['readme'] = base64_encode($data['readme']);
}
// Set the php_helper_both string to base64 string.
@ -1347,12 +1353,6 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
// Get the encription object
$basic = new FOFEncryptAes($basickey, 128);
// Encript data update_server_ftp.
if (isset($data['update_server_ftp']) && $basickey)
{
$data['update_server_ftp'] = $basic->encryptString($data['update_server_ftp']);
}
// Encript data whmcs_key.
if (isset($data['whmcs_key']) && $basickey)
{
@ -1365,6 +1365,18 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
$data['sales_server_ftp'] = $basic->encryptString($data['sales_server_ftp']);
}
// Encript data update_server_ftp.
if (isset($data['update_server_ftp']) && $basickey)
{
$data['update_server_ftp'] = $basic->encryptString($data['update_server_ftp']);
}
// Encript data export_key.
if (isset($data['export_key']) && $basickey)
{
$data['export_key'] = $basic->encryptString($data['export_key']);
}
// we check if component should be build from sql file
ComponentbuilderHelper::dynamicBuilder($data, 1);

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 182 of this MVC
@build 27th March, 2017
@version @update number 214 of this MVC
@build 28th March, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_components.php
@ -56,8 +56,9 @@ class ComponentbuilderModelJoomla_components extends JModelList
parent::__construct($config);
}
public $packagePath = false;
public $zipPath = false;
public $packagePath = false;
public $zipPath = false;
public $key = array();
protected $params;
protected $tempPath;
@ -127,6 +128,13 @@ class ComponentbuilderModelJoomla_components extends JModelList
$this->params = JComponentHelper::getParams('com_componentbuilder');
// set custom folder path
$this->customPath = $this->params->get('custom_folder_path', JPATH_COMPONENT_ADMINISTRATOR.'/custom');
// Get the basic encription.
$basickey = ComponentbuilderHelper::getCryptKey('basic');
// Get the encription object.
if ($basickey)
{
$basic = new FOFEncryptAes($basickey, 128);
}
// add custom code
$this->setData($user, $db, 'custom_code', $pks, 'component');
// start loading the components
@ -139,6 +147,15 @@ class ComponentbuilderModelJoomla_components extends JModelList
unset($items[$nr]);
continue;
}
// set the keys
if (isset($item->export_key) && ComponentbuilderHelper::checkString($item->export_key))
{
if ($basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
{
$item->export_key = rtrim($basic->decryptString($item->export_key), "\0");
}
$this->key[$item->id] = $item->export_key;
}
// build files
$this->moveIt($item->addfiles, 'file');
// build folders
@ -192,7 +209,19 @@ class ComponentbuilderModelJoomla_components extends JModelList
*/
protected function smartExportBuilder()
{
$this->smartExport = serialize($this->smartExport);
$data = serialize($this->smartExport);
// lock the data if set
if (ComponentbuilderHelper::checkArray($this->key))
{
$this->key = md5(implode('', $this->key));
$locker = new FOFEncryptAes($this->key, 128);
$data = $locker->encryptString($data);
}
else
{
$data = base64_encode($data);
}
// set the path
$dbPath = $this->packagePath . '/db.vdm';
if (JFile::exists($dbPath))
{
@ -200,7 +229,7 @@ class ComponentbuilderModelJoomla_components extends JModelList
JFile::delete($dbPath);
}
// write the db data to file in package
if (!ComponentbuilderHelper::writeFile($dbPath, $this->smartExport))
if (!ComponentbuilderHelper::writeFile($dbPath, wordwrap($data, 128, "\n", true)))
{
return false;
}
@ -370,7 +399,7 @@ class ComponentbuilderModelJoomla_components extends JModelList
// add admin views
if (isset($item->addlinked_views))
{
$this->setData($user, $db, 'admin_view', $item->addlinked_views, 'adminview');
// $this->setData($user, $db, 'admin_view', $item->addlinked_views, 'adminview'); TODO infinite loop error
}
// admin icon
$this->moveIt(array('image' => array($item->icon)), 'image');
@ -875,37 +904,42 @@ class ComponentbuilderModelJoomla_components extends JModelList
{
foreach ($items as $nr => &$item)
{
if ($basickey && !is_numeric($item->update_server_ftp) && $item->update_server_ftp === base64_encode(base64_decode($item->update_server_ftp, true)))
{
// decrypt update_server_ftp
$item->update_server_ftp = $basic->decryptString($item->update_server_ftp);
}
// decode php_postflight_install
$item->php_postflight_install = base64_decode($item->php_postflight_install);
// decode readme
$item->readme = base64_decode($item->readme);
// 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);
// decode sql
$item->sql = base64_decode($item->sql);
// decode php_postflight_update
$item->php_postflight_update = base64_decode($item->php_postflight_update);
// decode css
$item->css = base64_decode($item->css);
// decode php_method_uninstall
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
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);
// decode php_preflight_install
$item->php_preflight_install = base64_decode($item->php_preflight_install);
// decode php_postflight_install
$item->php_postflight_install = base64_decode($item->php_postflight_install);
// decode php_method_uninstall
$item->php_method_uninstall = base64_decode($item->php_method_uninstall);
// decode readme
$item->readme = base64_decode($item->readme);
if ($basickey && !is_numeric($item->sales_server_ftp) && $item->sales_server_ftp === base64_encode(base64_decode($item->sales_server_ftp, true)))
{
// decrypt sales_server_ftp
$item->sales_server_ftp = $basic->decryptString($item->sales_server_ftp);
}
if ($basickey && !is_numeric($item->update_server_ftp) && $item->update_server_ftp === base64_encode(base64_decode($item->update_server_ftp, true)))
{
// decrypt update_server_ftp
$item->update_server_ftp = $basic->decryptString($item->update_server_ftp);
}
if ($basickey && !is_numeric($item->export_key) && $item->export_key === base64_encode(base64_decode($item->export_key, true)))
{
// decrypt export_key
$item->export_key = $basic->decryptString($item->export_key);
}
// decode php_helper_both
$item->php_helper_both = base64_decode($item->php_helper_both);
// decode php_helper_admin