Compare commits

...

31 Commits

Author SHA1 Message Date
a19b410adc Stable Release To Upgrade https://youtu.be/YaycQcsMpOs 2017-10-21 01:53:13 +02:00
d6965f304c Fixed JCB package Import. Fixed snippet display in site view. Imporved export of JCB packages. 2017-10-20 18:17:46 +02:00
f7d5ac84c4 Imporved the field display on admin fields conditions to only show fields linked to the admin view. Added access back to all JCB admin views. Fixed the export of JCB packages to include the new admin_fields and admin_flieds_conditions tables. Adapted the JCB package import method to be able to import old JCB packages 2017-10-19 05:53:55 +02:00
6c29a6fca1 Added field filtering to admin fields conditions to only load fields linked to admin view. Updated the component export method to also export the new views and field relationships 2017-10-16 19:14:23 +02:00
c2972c3e17 fixed a line break incorrectly escaped, added better description to new fields layout 2017-10-14 20:07:23 +02:00
5a14049afd Removed JError from admin views, and compiler. Added edit link to each field in admin view. Removed linked to admin view from fields view 2017-10-14 19:20:05 +02:00
30574857bf Added shortcut buttons to the admin views list view to quickly access admin fields. Imporved the upgrade script to insure beter conversion of fields from repeatable to subform fields. 2017-10-14 17:56:04 +02:00
fbfeef5353 fixed bug in custom admin view, due to incorrect space in table name 2017-10-14 05:41:14 +02:00
2b7914f05d Added field fix in models to help with the change from repeatable fields to subform fields. Added ajax to load admin fields and conditions into the admin view. 2017-10-14 05:37:18 +02:00
f7b168d762 Fixed tab line-up so the linked component in the admin_view will show again 2017-10-13 05:52:15 +02:00
dfd98aeacf Cleaned-up some more javascript one the admin_view. Changed the admin_view layout. Improved the converion of data. Added a new tabsName field to the admin_fields view. 2017-10-13 05:45:54 +02:00
fc41ba85d8 Fixed the dynamicGet ajax to now get field values from the new admin_fields table 2017-10-13 01:39:04 +02:00
35482416cb Decoupled fields and conditions from admin view as explained in gh-136. Added new admin_fields and admin_fields_conditions tables and moved the data from admin_view to these new tables. 2017-10-13 01:14:17 +02:00
39e1e5f078 Removing repetable fields from site view, custom admin view, and admin view. Also updated the compiler, removed permissions on fields to speedup page load in admin and joomla component views 2017-10-12 02:50:14 +02:00
c484306d21 addedd the xml update server url 2017-10-06 20:29:35 +02:00
3d1ba0321a Added Wiki to JCB. Resolved gh-125 to insure phone numbers are treated as strings. Resolved gh-128 by adding field to Joomla Component View that allows javascript to be added globaly. Converted a few more repeatable fields to subform fields, this is an ongoing project to remove repeatable fields from JCB. 2017-10-06 20:28:28 +02:00
5bb5e3e909 Updated the readme to link to the new Quick Build of a [Hello World component in JCB video on Youtube](https://youtu.be/1KBBtQUxMTc) 2017-09-20 16:49:38 +02:00
9e140b40da convert repeatable properties field in the field types view to subform field 2017-09-18 04:20:50 +02:00
06416e665d Fixed gh-120 that allows export of component with language translations 2017-09-18 02:18:23 +02:00
72c6136bfb Resolved gh-118 to insure JCB loads the needed language strings to the system language file during compilation 2017-09-13 13:59:58 +02:00
5d3e93c560 Fixed gh-117 to allow custom sql strings to be addedas a value key. 2017-09-13 12:15:14 +02:00
8ccb13f3e0 resolve gh-115 to allow excluding of folders and files in the repository folder 2017-09-13 02:37:43 +02:00
4b3bc9bd03 Moved FTP signature to its own table, so we can use it more securely around JCB (even in the global settings). Improved the Linked view option in admin-views. 2017-08-25 02:56:05 +01:00
8501e37b3e updated some of the component import script, resolved gh-113 to improve assets rules setting for components 2017-08-23 21:38:28 +01:00
1c37f13820 fixed component import issue, to insure mysql dump data in admin-view gets imported correctly 2017-08-23 15:52:31 +01:00
e6b3c2391d fixed function button bug that loaded it to all views, instead of only the owner view 2017-08-22 23:44:53 +01:00
cfc1af2b69 added site-view switch to allow default public access if access is set on the site view as explained in gh-113 2017-08-22 23:17:19 +01:00
9c1ee3e88a updated the donation info 2017-08-21 02:24:30 +01:00
e3528344af Major upgrade, to initiate front-end development for JCB. Little steps at a time forward. 2017-08-20 22:18:16 +01:00
0ccc84e2ff fixed the getVars backward compatibility issue, Added replyto and replytoname to email helper, renamed the email helper class that builds the email table to setTableBody 2017-08-20 21:47:14 +01:00
e0730d3bf6 added JCB initial API frontend to run backups of JCB components, setup automated backup system with cronjob 2017-08-20 18:52:35 +01:00
634 changed files with 32776 additions and 12579 deletions

View File

@ -1,15 +1,17 @@
# Joomla Component Builder (JCB) # Joomla Component Builder (JCB)
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
This is a [Joomla 3.x](http://www.joomla.org/) component. This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://youtu.be/1KBBtQUxMTc)
![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/component-300.jpg "The Component Builder") ![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/vdm-component.jpg "The Component Builder")
The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanced, truly able to build extremely complex components in a fraction of the time. 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.
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe 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 safe 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.4.10) 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.5.8) 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://youtu.be/1KBBtQUxMTc)
Once installed upgrades are quick and easy via the default Joomla upgrade area. Once installed upgrades are quick and easy via the default Joomla upgrade area.
@ -108,13 +110,13 @@ Component Builder is mapped as a component in itself on my local development env
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](http://vdm.bz/component-builder) + *Name*: [Component Builder](http://vdm.bz/component-builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 12th August, 2017 + *Last Build*: 20th October, 2017
+ *Version*: 2.4.10 + *Version*: 2.5.8
+ *Copyright*: Copyright (C) 2015. All Rights Reserved + *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html + *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
+ *Line count*: **106298** + *Line count*: **125744**
+ *File count*: **651** + *File count*: **742**
+ *Folder count*: **115** + *Folder count*: **129**
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder). > This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io) > Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
@ -123,5 +125,5 @@ Component Builder is mapped as a component in itself on my local development env
Come on buy me a coffee :) Come on buy me a coffee :)
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm) * PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s * Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823 * Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823

View File

@ -1,15 +1,17 @@
# Joomla Component Builder (JCB) # Joomla Component Builder (JCB)
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
This is a [Joomla 3.x](http://www.joomla.org/) component. This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://youtu.be/1KBBtQUxMTc)
![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/component-300.jpg "The Component Builder") ![Component Builder image](https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/vdm-component.jpg "The Component Builder")
The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanced, truly able to build extremely complex components in a fraction of the time. 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.
Whether you're a seasoned [Joomla](http://www.joomla.org/) developer, or have just started, Component Builder will safe 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 safe 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.4.10) 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.5.8) 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://youtu.be/1KBBtQUxMTc)
Once installed upgrades are quick and easy via the default Joomla upgrade area. Once installed upgrades are quick and easy via the default Joomla upgrade area.
@ -108,13 +110,13 @@ Component Builder is mapped as a component in itself on my local development env
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io) + *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](http://vdm.bz/component-builder) + *Name*: [Component Builder](http://vdm.bz/component-builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 12th August, 2017 + *Last Build*: 20th October, 2017
+ *Version*: 2.4.10 + *Version*: 2.5.8
+ *Copyright*: Copyright (C) 2015. All Rights Reserved + *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html + *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
+ *Line count*: **106298** + *Line count*: **125744**
+ *File count*: **651** + *File count*: **742**
+ *Folder count*: **115** + *Folder count*: **129**
> This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder). > This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder).
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io) > Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
@ -123,5 +125,5 @@ Component Builder is mapped as a component in itself on my local development env
Come on buy me a coffee :) Come on buy me a coffee :)
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm) * PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1N45VjnZSNmDK64xRrQYGRRi56rgpnze3s * Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823 * Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823

View File

@ -17,12 +17,39 @@
<action name="core.edit.created" title="COM_COMPONENTBUILDER_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_EDIT_CREATED_DATE_DESC" /> <action name="core.edit.created" title="COM_COMPONENTBUILDER_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_EDIT_CREATED_DATE_DESC" />
<action name="admin_view.access" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC" /> <action name="admin_view.access" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC" />
<action name="admin_view.batch" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC" /> <action name="admin_view.batch" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC" />
<action name="admin_view.create" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC" />
<action name="admin_view.dashboard_add" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC" /> <action name="admin_view.dashboard_add" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC" />
<action name="admin_view.dashboard_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC" /> <action name="admin_view.dashboard_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC" />
<action name="admin_view.delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC" />
<action name="admin_view.edit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESC" />
<action name="admin_view.edit.created_by" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_BY_DESC" />
<action name="admin_view.edit.created" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_DATE_DESC" />
<action name="admin_view.edit.own" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN_DESC" />
<action name="admin_view.edit.state" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE_DESC" />
<action name="admin_view.version" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC" /> <action name="admin_view.version" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC" />
<action name="admin_view.export" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT_DESC" /> <action name="admin_view.export" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT_DESC" />
<action name="admin_view.import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC" /> <action name="admin_view.import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC" />
<action name="admin_view.submenu" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC" /> <action name="admin_view.submenu" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC" />
<action name="admin_fields.access" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_ACCESS" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_ACCESS_DESC" />
<action name="admin_fields.batch" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_BATCH_USE_DESC" />
<action name="admin_fields_conditions.access" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_ACCESS" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_ACCESS_DESC" />
<action name="admin_fields_conditions.batch" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_BATCH_USE_DESC" />
<action name="admin_fields_conditions.create" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_CREATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_CREATE_DESC" />
<action name="admin_fields_conditions.delete" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_DELETE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_DELETE_DESC" />
<action name="admin_fields_conditions.edit" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_DESC" />
<action name="admin_fields_conditions.edit.created_by" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_BY_DESC" />
<action name="admin_fields_conditions.edit.created" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_DATE_DESC" />
<action name="admin_fields_conditions.edit.own" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_OWN_DESC" />
<action name="admin_fields_conditions.edit.state" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_STATE_DESC" />
<action name="admin_fields_conditions.version" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_VERSION_DESC" />
<action name="admin_fields.create" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CREATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CREATE_DESC" />
<action name="admin_fields.delete" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_DELETE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_DELETE_DESC" />
<action name="admin_fields.edit" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_DESC" />
<action name="admin_fields.edit.created_by" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_BY_DESC" />
<action name="admin_fields.edit.created" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_DATE_DESC" />
<action name="admin_fields.edit.own" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_OWN_DESC" />
<action name="admin_fields.edit.state" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_STATE_DESC" />
<action name="admin_fields.version" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_VERSION_DESC" />
<action name="compiler.access" title="COM_COMPONENTBUILDER_COMPILER_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC" /> <action name="compiler.access" title="COM_COMPONENTBUILDER_COMPILER_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC" />
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" /> <action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
<action name="compiler.dashboard_list" title="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC" /> <action name="compiler.dashboard_list" title="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC" />
@ -82,12 +109,32 @@
<action name="fieldtype.dashboard_list" title="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC" /> <action name="fieldtype.dashboard_list" title="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC" />
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" /> <action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
<action name="fieldtype.edit" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC" /> <action name="fieldtype.edit" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC" />
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
<action name="fieldtype.edit.own" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC" /> <action name="fieldtype.edit.own" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC" />
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.state" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC" /> <action name="fieldtype.edit.state" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC" />
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" /> <action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
<action name="fieldtype.export" title="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC" /> <action name="fieldtype.export" title="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC" />
<action name="fieldtype.import" title="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC" /> <action name="fieldtype.import" title="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC" />
<action name="fieldtype.submenu" title="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU" description="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC" /> <action name="fieldtype.submenu" title="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU" description="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC" />
<action name="ftp.access" title="COM_COMPONENTBUILDER_FTPS_ACCESS" description="COM_COMPONENTBUILDER_FTPS_ACCESS_DESC" />
<action name="ftp.batch" title="COM_COMPONENTBUILDER_FTPS_BATCH_USE" description="COM_COMPONENTBUILDER_FTPS_BATCH_USE_DESC" />
<action name="ftp.create" title="COM_COMPONENTBUILDER_FTPS_CREATE" description="COM_COMPONENTBUILDER_FTPS_CREATE_DESC" />
<action name="ftp.dashboard_list" title="COM_COMPONENTBUILDER_FTPS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_FTPS_DASHBOARD_LIST_DESC" />
<action name="ftp.delete" title="COM_COMPONENTBUILDER_FTPS_DELETE" description="COM_COMPONENTBUILDER_FTPS_DELETE_DESC" />
<action name="ftp.edit" title="COM_COMPONENTBUILDER_FTPS_EDIT" description="COM_COMPONENTBUILDER_FTPS_EDIT_DESC" />
<action name="ftp.edit.created_by" title="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_BY_DESC" />
<action name="ftp.edit.created" title="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_DATE_DESC" />
<action name="ftp.edit.name" title="COM_COMPONENTBUILDER_FTPS_EDIT_NAME" description="COM_COMPONENTBUILDER_FTPS_EDIT_NAME_DESC" />
<action name="ftp.edit.own" title="COM_COMPONENTBUILDER_FTPS_EDIT_OWN" description="COM_COMPONENTBUILDER_FTPS_EDIT_OWN_DESC" />
<action name="ftp.edit.signature" title="COM_COMPONENTBUILDER_FTPS_EDIT_SIGNATURE" description="COM_COMPONENTBUILDER_FTPS_EDIT_SIGNATURE_DESC" />
<action name="ftp.edit.state" title="COM_COMPONENTBUILDER_FTPS_EDIT_STATE" description="COM_COMPONENTBUILDER_FTPS_EDIT_STATE_DESC" />
<action name="ftp.version" title="COM_COMPONENTBUILDER_FTPS_EDIT_VERSION" description="COM_COMPONENTBUILDER_FTPS_EDIT_VERSION_DESC" />
<action name="ftp.export" title="COM_COMPONENTBUILDER_FTPS_EXPORT" description="COM_COMPONENTBUILDER_FTPS_EXPORT_DESC" />
<action name="ftp.import" title="COM_COMPONENTBUILDER_FTPS_IMPORT" description="COM_COMPONENTBUILDER_FTPS_IMPORT_DESC" />
<action name="ftp.submenu" title="COM_COMPONENTBUILDER_FTPS_SUBMENU" description="COM_COMPONENTBUILDER_FTPS_SUBMENU_DESC" />
<action name="help_document.access" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS_DESC" /> <action name="help_document.access" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS_DESC" />
<action name="help_document.batch" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE_DESC" /> <action name="help_document.batch" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE_DESC" />
<action name="help_document.create" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE_DESC" /> <action name="help_document.create" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE_DESC" />
@ -101,14 +148,20 @@
<action name="help_document.export" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT_DESC" /> <action name="help_document.export" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT_DESC" />
<action name="help_document.import" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT_DESC" /> <action name="help_document.import" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT_DESC" />
<action name="help_document.submenu" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC" /> <action name="help_document.submenu" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC" />
<action name="joomla_component.backup" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC" />
<action name="joomla_component.export_components" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS_DESC" /> <action name="joomla_component.export_components" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS_DESC" />
<action name="joomla_component.import_components" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS_DESC" /> <action name="joomla_component.import_components" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS_DESC" />
<action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" /> <action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" />
<action name="joomla_component.batch" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC" /> <action name="joomla_component.batch" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC" />
<action name="joomla_component.create" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE_DESC" />
<action name="joomla_component.dashboard_add" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD_DESC" /> <action name="joomla_component.dashboard_add" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD_DESC" />
<action name="joomla_component.dashboard_list" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST_DESC" /> <action name="joomla_component.dashboard_list" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST_DESC" />
<action name="joomla_component.edit.add_license" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_LICENSE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_LICENSE_DESC" /> <action name="joomla_component.delete" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE_DESC" />
<action name="joomla_component.edit.license_type" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_TYPE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_TYPE_DESC" /> <action name="joomla_component.edit" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESC" />
<action name="joomla_component.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_BY_DESC" />
<action name="joomla_component.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_DATE_DESC" />
<action name="joomla_component.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_OWN_DESC" />
<action name="joomla_component.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC" />
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" /> <action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
<action name="joomla_component.export" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT_DESC" /> <action name="joomla_component.export" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT_DESC" />
<action name="joomla_component.import" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT_DESC" /> <action name="joomla_component.import" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT_DESC" />
@ -170,16 +223,24 @@
<action name="template.submenu" title="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU" description="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC" /> <action name="template.submenu" title="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU" description="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC" />
</section> </section>
<section name="joomla_component"> <section name="joomla_component">
<action name="joomla_component.edit.add_license" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_LICENSE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_LICENSE_DESC" /> <action name="joomla_component.edit" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESC" />
<action name="joomla_component.edit.license_type" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_TYPE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_TYPE_DESC" /> <action name="joomla_component.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_OWN_DESC" />
<action name="joomla_component.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC" />
<action name="joomla_component.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_BY_DESC" />
<action name="joomla_component.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATED_DATE_DESC" />
<action name="joomla_component.create" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE_DESC" />
<action name="joomla_component.delete" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DELETE_DESC" />
<action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" />
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" /> <action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
</section> </section>
<section name="admin_view"> <section name="admin_view">
<action name="core.edit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESC" /> <action name="admin_view.edit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESC" />
<action name="core.edit.state" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE_DESC" /> <action name="admin_view.edit.own" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN_DESC" />
<action name="core.edit.own" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN_DESC" /> <action name="admin_view.edit.state" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE_DESC" />
<action name="core.create" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC" /> <action name="admin_view.edit.created_by" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_BY_DESC" />
<action name="core.delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC" /> <action name="admin_view.edit.created" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CREATED_DATE_DESC" />
<action name="admin_view.create" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC" />
<action name="admin_view.delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC" />
<action name="admin_view.access" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC" /> <action name="admin_view.access" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC" />
<action name="admin_view.version" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC" /> <action name="admin_view.version" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC" />
</section> </section>
@ -264,6 +325,10 @@
<action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" /> <action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" />
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" /> <action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" /> <action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" /> <action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
</section> </section>
<section name="language_translation"> <section name="language_translation">
@ -284,6 +349,19 @@
<action name="language.access" title="COM_COMPONENTBUILDER_LANGUAGES_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC" /> <action name="language.access" title="COM_COMPONENTBUILDER_LANGUAGES_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC" />
<action name="language.version" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION_DESC" /> <action name="language.version" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION_DESC" />
</section> </section>
<section name="ftp">
<action name="ftp.edit" title="COM_COMPONENTBUILDER_FTPS_EDIT" description="COM_COMPONENTBUILDER_FTPS_EDIT_DESC" />
<action name="ftp.edit.own" title="COM_COMPONENTBUILDER_FTPS_EDIT_OWN" description="COM_COMPONENTBUILDER_FTPS_EDIT_OWN_DESC" />
<action name="ftp.edit.state" title="COM_COMPONENTBUILDER_FTPS_EDIT_STATE" description="COM_COMPONENTBUILDER_FTPS_EDIT_STATE_DESC" />
<action name="ftp.edit.created_by" title="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_BY_DESC" />
<action name="ftp.edit.created" title="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_DATE_DESC" />
<action name="ftp.create" title="COM_COMPONENTBUILDER_FTPS_CREATE" description="COM_COMPONENTBUILDER_FTPS_CREATE_DESC" />
<action name="ftp.delete" title="COM_COMPONENTBUILDER_FTPS_DELETE" description="COM_COMPONENTBUILDER_FTPS_DELETE_DESC" />
<action name="ftp.access" title="COM_COMPONENTBUILDER_FTPS_ACCESS" description="COM_COMPONENTBUILDER_FTPS_ACCESS_DESC" />
<action name="ftp.edit.name" title="COM_COMPONENTBUILDER_FTPS_EDIT_NAME" description="COM_COMPONENTBUILDER_FTPS_EDIT_NAME_DESC" />
<action name="ftp.edit.signature" title="COM_COMPONENTBUILDER_FTPS_EDIT_SIGNATURE" description="COM_COMPONENTBUILDER_FTPS_EDIT_SIGNATURE_DESC" />
<action name="ftp.version" title="COM_COMPONENTBUILDER_FTPS_EDIT_VERSION" description="COM_COMPONENTBUILDER_FTPS_EDIT_VERSION_DESC" />
</section>
<section name="help_document"> <section name="help_document">
<action name="help_document.edit" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_DESC" /> <action name="help_document.edit" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_DESC" />
<action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" /> <action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" />
@ -293,6 +371,28 @@
<action name="help_document.access" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS_DESC" /> <action name="help_document.access" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS_DESC" />
<action name="help_document.version" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION_DESC" /> <action name="help_document.version" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION_DESC" />
</section> </section>
<section name="admin_fields">
<action name="admin_fields.edit" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_DESC" />
<action name="admin_fields.edit.own" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_OWN_DESC" />
<action name="admin_fields.edit.state" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_STATE_DESC" />
<action name="admin_fields.edit.created_by" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_BY_DESC" />
<action name="admin_fields.edit.created" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_CREATED_DATE_DESC" />
<action name="admin_fields.create" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CREATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CREATE_DESC" />
<action name="admin_fields.delete" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_DELETE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_DELETE_DESC" />
<action name="admin_fields.access" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_ACCESS" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_ACCESS_DESC" />
<action name="admin_fields.version" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_EDIT_VERSION_DESC" />
</section>
<section name="admin_fields_conditions">
<action name="admin_fields_conditions.edit" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_DESC" />
<action name="admin_fields_conditions.edit.own" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_OWN_DESC" />
<action name="admin_fields_conditions.edit.state" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_STATE_DESC" />
<action name="admin_fields_conditions.edit.created_by" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_BY_DESC" />
<action name="admin_fields_conditions.edit.created" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_CREATED_DATE_DESC" />
<action name="admin_fields_conditions.create" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_CREATE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_CREATE_DESC" />
<action name="admin_fields_conditions.delete" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_DELETE" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_DELETE_DESC" />
<action name="admin_fields_conditions.access" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_ACCESS" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_ACCESS_DESC" />
<action name="admin_fields_conditions.version" title="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS_EDIT_VERSION_DESC" />
</section>
<section name="category.fields"> <section name="category.fields">
<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" /> <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
<action name="core.delete" title="JACTION_DELETE" description="COM_CATEGORIES_ACCESS_DELETE_DESC" /> <action name="core.delete" title="JACTION_DELETE" description="COM_CATEGORIES_ACCESS_DELETE_DESC" />

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage admin.css @subpackage admin.css

View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 23 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admin_fields.css
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/* CSS Document */

View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admin_fields_conditions.css
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/* CSS Document */

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 111 of this MVC @version @update number 192 of this MVC
@build 17th July, 2017 @build 16th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage admin_view.css @subpackage admin_view.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 111 of this MVC @version @update number 192 of this MVC
@build 17th July, 2017 @build 16th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage admin_views.css @subpackage admin_views.css

View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 23 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admins_fields.css
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/* CSS Document */

View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admins_fields_conditions.css
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/* CSS Document */

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 53 of this MVC @version @update number 57 of this MVC
@build 5th August, 2017 @build 13th October, 2017
@created 1st February, 2017 @created 1st February, 2017
@package Component Builder @package Component Builder
@subpackage compiler.css @subpackage compiler.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC @version @update number 32 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 13th August, 2015 @created 13th August, 2015
@package Component Builder @package Component Builder
@subpackage custom_admin_view.css @subpackage custom_admin_view.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC @version @update number 32 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 13th August, 2015 @created 13th August, 2015
@package Component Builder @package Component Builder
@subpackage custom_admin_views.css @subpackage custom_admin_views.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 82 of this MVC @version @update number 84 of this MVC
@build 26th April, 2017 @build 13th October, 2017
@created 11th October, 2016 @created 11th October, 2016
@package Component Builder @package Component Builder
@subpackage custom_code.css @subpackage custom_code.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 82 of this MVC @version @update number 84 of this MVC
@build 26th April, 2017 @build 13th October, 2017
@created 11th October, 2016 @created 11th October, 2016
@package Component Builder @package Component Builder
@subpackage custom_codes.css @subpackage custom_codes.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage dashboard.css @subpackage dashboard.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 84 of this MVC @version @update number 98 of this MVC
@build 4th May, 2017 @build 20th October, 2017
@created 21st May, 2015 @created 21st May, 2015
@package Component Builder @package Component Builder
@subpackage dynamic_get.css @subpackage dynamic_get.css
@ -24,4 +24,6 @@
/* CSS Document */ /* CSS Document */
.fieldMedium {
width: 80px !important;
}

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 84 of this MVC @version @update number 98 of this MVC
@build 4th May, 2017 @build 20th October, 2017
@created 21st May, 2015 @created 21st May, 2015
@package Component Builder @package Component Builder
@subpackage dynamic_gets.css @subpackage dynamic_gets.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 38 of this MVC @version @update number 40 of this MVC
@build 28th May, 2017 @build 18th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage field.css @subpackage field.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 38 of this MVC @version @update number 40 of this MVC
@build 28th May, 2017 @build 18th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage fields.css @subpackage fields.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 13 of this MVC @version @update number 16 of this MVC
@build 13th June, 2017 @build 13th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage fieldtype.css @subpackage fieldtype.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 13 of this MVC @version @update number 16 of this MVC
@build 13th June, 2017 @build 13th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage fieldtypes.css @subpackage fieldtypes.css

27
admin/assets/css/ftp.css Normal file
View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 11 of this MVC
@build 16th October, 2017
@created 23rd August, 2017
@package Component Builder
@subpackage ftp.css
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/* CSS Document */

27
admin/assets/css/ftps.css Normal file
View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 11 of this MVC
@build 16th October, 2017
@created 23rd August, 2017
@package Component Builder
@subpackage ftps.css
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/* CSS Document */

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 6 of this MVC @version @update number 6 of this MVC
@build 18th October, 2016 @build 17th October, 2016
@created 4th March, 2016 @created 4th March, 2016
@package Component Builder @package Component Builder
@subpackage help_document.css @subpackage help_document.css

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 6 of this MVC @version @update number 6 of this MVC
@build 18th October, 2016 @build 17th October, 2016
@created 4th March, 2016 @created 4th March, 2016
@package Component Builder @package Component Builder
@subpackage help_documents.css @subpackage help_documents.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC @version @update number 473 of this MVC
@build 7th August, 2017 @build 20th October, 2017
@created 6th May, 2015 @created 6th May, 2015
@package Component Builder @package Component Builder
@subpackage joomla_component.css @subpackage joomla_component.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC @version @update number 473 of this MVC
@build 7th August, 2017 @build 20th October, 2017
@created 6th May, 2015 @created 6th May, 2015
@package Component Builder @package Component Builder
@subpackage joomla_components.css @subpackage joomla_components.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 39 of this MVC @version @update number 45 of this MVC
@build 7th April, 2017 @build 14th October, 2017
@created 3rd April, 2017 @created 3rd April, 2017
@package Component Builder @package Component Builder
@subpackage language_translation.css @subpackage language_translation.css
@ -25,3 +25,6 @@
/* CSS Document */ /* CSS Document */
.translation_text_area {
width: 100%;
}

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 39 of this MVC @version @update number 45 of this MVC
@build 7th April, 2017 @build 14th October, 2017
@created 3rd April, 2017 @created 3rd April, 2017
@package Component Builder @package Component Builder
@subpackage language_translations.css @subpackage language_translations.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 77 of this MVC @version @update number 81 of this MVC
@build 30th May, 2017 @build 27th September, 2017
@created 18th May, 2015 @created 18th May, 2015
@package Component Builder @package Component Builder
@subpackage layout.css @subpackage layout.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 77 of this MVC @version @update number 81 of this MVC
@build 30th May, 2017 @build 27th September, 2017
@created 18th May, 2015 @created 18th May, 2015
@package Component Builder @package Component Builder
@subpackage layouts.css @subpackage layouts.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC @version @update number 63 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 29th May, 2015 @created 29th May, 2015
@package Component Builder @package Component Builder
@subpackage site_view.css @subpackage site_view.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC @version @update number 63 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 29th May, 2015 @created 29th May, 2015
@package Component Builder @package Component Builder
@subpackage site_views.css @subpackage site_views.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC @version @update number 17 of this MVC
@build 20th October, 2016 @build 27th September, 2017
@created 19th May, 2015 @created 19th May, 2015
@package Component Builder @package Component Builder
@subpackage snippet.css @subpackage snippet.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC @version @update number 17 of this MVC
@build 20th October, 2016 @build 27th September, 2017
@created 19th May, 2015 @created 19th May, 2015
@package Component Builder @package Component Builder
@subpackage snippets.css @subpackage snippets.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 40 of this MVC @version @update number 45 of this MVC
@build 1st April, 2017 @build 27th September, 2017
@created 26th May, 2015 @created 26th May, 2015
@package Component Builder @package Component Builder
@subpackage template.css @subpackage template.css

View File

@ -9,8 +9,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 40 of this MVC @version @update number 45 of this MVC
@build 1st April, 2017 @build 27th September, 2017
@created 26th May, 2015 @created 26th May, 2015
@package Component Builder @package Component Builder
@subpackage templates.css @subpackage templates.css

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -0,0 +1,25 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.5.8
@build 20th October, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin.js
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
/* JS Document */

View File

@ -43,12 +43,6 @@ class ###Component###View###Component### extends JViewLegacy
*/ */
function display($tpl = null) function display($tpl = null)
{ {
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
};
// Assign data to the view // Assign data to the view
$this->icons = $this->get('Icons'); $this->icons = $this->get('Icons');
$this->contributors = ###Component###Helper::getContributors();###DASH_GET_CUSTOM_DATA### $this->contributors = ###Component###Helper::getContributors();###DASH_GET_CUSTOM_DATA###
@ -59,6 +53,12 @@ class ###Component###View###Component### extends JViewLegacy
// Set the toolbar // Set the toolbar
$this->addToolBar(); $this->addToolBar();
// Check for errors.
if (count($errors = $this->get('Errors')))
{
throw new Exception(implode("\n", $errors), 500);
}
// Display the template // Display the template
parent::display($tpl); parent::display($tpl);

View File

@ -157,7 +157,14 @@ abstract class ###Component###Helper
$query = $db->getQuery(true); $query = $db->getQuery(true);
$query->select($db->quoteName(array($what))); $query->select($db->quoteName(array($what)));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table)); $query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')'); $query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query); $db->setQuery($query);
$db->execute(); $db->execute();
@ -440,12 +447,20 @@ abstract class ###Component###Helper
**/ **/
public static function getModel($name, $path = JPATH_COMPONENT_ADMINISTRATOR, $component = '###component###') public static function getModel($name, $path = JPATH_COMPONENT_ADMINISTRATOR, $component = '###component###')
{ {
// load some joomla helpers
JLoader::import('joomla.application.component.model');
// load the model file // load the model file
JLoader::import( $name, $path . '/models' ); JModelLegacy::addIncludePath( $path . '/models' );
// return instance // get instance
return JModelLegacy::getInstance( $name, $component.'Model' ); $model = JModelLegacy::getInstance( $name, $component.'Model' );
// if model not found
if ($model == false)
{
// build class name
$class = $prefix.$name;
// initilize the model
new $class();
$model = JModelLegacy::getInstance($name, $prefix);
}
return $model;
} }
/** /**
@ -652,7 +667,13 @@ abstract class ###Component###Helper
return false; return false;
} }
// typo sorry!
public static function sorten($string, $length = 40, $addTip = true) public static function sorten($string, $length = 40, $addTip = true)
{
return self::shorten($string, $length, $addTip);
}
public static function shorten($string, $length = 40, $addTip = true)
{ {
if (self::checkString($string)) if (self::checkString($string))
{ {
@ -675,7 +696,7 @@ abstract class ###Component###Helper
$final = strlen($newString); $final = strlen($newString);
if ($initial != $final && $addTip) if ($initial != $final && $addTip)
{ {
$title = self::sorten($string, 400 , false); $title = self::shorten($string, 400 , false);
return '<span class="hasTip" title="'.$title.'" style="cursor:help">'.trim($newString).'...</span>'; return '<span class="hasTip" title="'.$title.'" style="cursor:help">'.trim($newString).'...</span>';
} }
elseif ($initial != $final && !$addTip) elseif ($initial != $final && !$addTip)
@ -774,15 +795,15 @@ abstract class ###Component###Helper
return ''; return '';
} }
public static function htmlEscape($var, $charset = 'UTF-8', $sorten = false, $length = 40) public static function htmlEscape($var, $charset = 'UTF-8', $shorten = false, $length = 40)
{ {
if (self::checkString($var)) if (self::checkString($var))
{ {
$filter = new JFilterInput(); $filter = new JFilterInput();
$string = $filter->clean(html_entity_decode(htmlentities($var, ENT_COMPAT, $charset)), 'HTML'); $string = $filter->clean(html_entity_decode(htmlentities($var, ENT_COMPAT, $charset)), 'HTML');
if ($sorten) if ($shorten)
{ {
return self::sorten($string,$length); return self::shorten($string,$length);
} }
return $string; return $string;
} }

View File

@ -114,6 +114,8 @@ abstract class ###Component###Email
$sendmail = $globalConf->get('sendmail'); $sendmail = $globalConf->get('sendmail');
$mailfrom = $globalConf->get('mailfrom'); $mailfrom = $globalConf->get('mailfrom');
$fromname = $globalConf->get('fromname'); $fromname = $globalConf->get('fromname');
$replyto = $globalConf->get('replyto');
$replytoname = $globalConf->get('replytoname');
} }
else else
{ {
@ -126,15 +128,15 @@ abstract class ###Component###Email
$sendmail = $conf->get('sendmail'); $sendmail = $conf->get('sendmail');
$mailfrom = $conf->get('mailfrom'); $mailfrom = $conf->get('mailfrom');
$fromname = $conf->get('fromname'); $fromname = $conf->get('fromname');
$mailreply = $conf->get('mailreply'); $replyto = $conf->get('replyto');
$replyname = $conf->get('replyname'); $replytoname = $conf->get('replytoname');
}
// set the global reply-to // set the global reply-to if found
if ($mailreply && $fromname) if ($replyto && $replytoname)
{ {
$mail->ClearReplyTos(); $mail->ClearReplyTos();
$mail->addReplyTo( array( $mailreply, $replyname ) ); $mail->addReplyTo( array( $replyto, $replytoname ) );
}
} }
// Set global sender // Set global sender
@ -276,4 +278,74 @@ abstract class ###Component###Email
return $sendmail; return $sendmail;
} }
/**
* Set html text (in a row) and subject (as title) to a email table.
* do not use <p> instead use <br />
* in your html that you pass to this method
* since it is a table row it does not
* work well with paragraphs
*
* @return string on success
*
*/
public static function setTableBody($html, $subject)
{
$body = array();
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
$body[] = "<head>";
$body[] = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
$body[] = "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>";
$body[] = "<title>".$subject."</title>";
$body[] = "<style type=\"text/css\">";
$body[] = "#outlook a {padding:0;}";
$body[] = ".ExternalClass {width:100%;}";
$body[] = ".ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} ";
$body[] = "p {margin: 0; padding: 0; font-size: 0px; line-height: 0px;} ";
$body[] = "table td {border-collapse: collapse;}";
$body[] = "table {border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }";
$body[] = "img {display: block; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;}";
$body[] = "a img {border: none;}";
$body[] = "a {text-decoration: none; color: #000001;}";
$body[] = "a.phone {text-decoration: none; color: #000001 !important; pointer-events: auto; cursor: default;}";
$body[] = "span {font-size: 13px; line-height: 17px; font-family: monospace; color: #000001;}";
$body[] = "</style>";
$body[] = "<!--[if gte mso 9]>";
$body[] = "<style>";
$body[] = "/* Target Outlook 2007 and 2010 */";
$body[] = "</style>";
$body[] = "<![endif]-->";
$body[] = "</head>";
$body[] = "<body style=\"width:100%; margin:0; padding:0; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;\">";
$body[] = "\n<!-- body wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin:0; padding:0; width:100%; line-height: 100% !important;\">";
$body[] = "<tr>";
$body[] = "<td valign=\"top\">";
$body[] = "<!-- edge wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"800\" >";
$body[] = "<tr>";
$body[] = "<td valign=\"top\">";
$body[] = "<!-- content wrapper -->";
$body[] = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\" width=\"780\">";
$body[] = "<tr>";
$body[] = "<td valign=\"top\" style=\"vertical-align: top;\">";
$body[] = $html;
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / content wrapper -->";
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / edge wrapper -->";
$body[] = "</td>";
$body[] = "</tr>";
$body[] = "</table>";
$body[] = "<!-- / page wrapper -->";
$body[] = "</body>";
$body[] = "</html>";
return implode("\n", $body);
}
} }

View File

@ -118,12 +118,23 @@ abstract class ###Component###Helper
**/ **/
public static function getModel($name, $path = JPATH_COMPONENT_SITE, $component = '###component###') public static function getModel($name, $path = JPATH_COMPONENT_SITE, $component = '###component###')
{ {
// load some joomla helpers // full path
JLoader::import('joomla.application.component.model'); $fullPath = $path . '/models';
// load the model file // load the model file
JLoader::import( $name, $path . '/models' ); JModelLegacy::addIncludePath($fullPath);
// return instance // get instance
return JModelLegacy::getInstance( $name, $component.'Model' ); $model = JModelLegacy::getInstance( $name, $component.'Model' );
// if model not found
if ($model == false)
{
require_once $fullPath.'/'.strtolower($name).'.php';
// build class name
$class = $prefix.$name;
// initialize the model
new $class();
$model = JModelLegacy::getInstance($name, $prefix);
}
return $model;
} }
/** /**
@ -331,7 +342,14 @@ abstract class ###Component###Helper
$query = $db->getQuery(true); $query = $db->getQuery(true);
$query->select($db->quoteName(array($what))); $query->select($db->quoteName(array($what)));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table)); $query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')'); $query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query); $db->setQuery($query);
$db->execute(); $db->execute();
@ -644,7 +662,13 @@ abstract class ###Component###Helper
return false; return false;
} }
// typo sorry!
public static function sorten($string, $length = 40, $addTip = true) public static function sorten($string, $length = 40, $addTip = true)
{
return self::shorten($string, $length, $addTip);
}
public static function shorten($string, $length = 40, $addTip = true)
{ {
if (self::checkString($string)) if (self::checkString($string))
{ {
@ -667,7 +691,7 @@ abstract class ###Component###Helper
$final = strlen($newString); $final = strlen($newString);
if ($initial != $final && $addTip) if ($initial != $final && $addTip)
{ {
$title = self::sorten($string, 400 , false); $title = self::shorten($string, 400 , false);
return '<span class="hasTip" title="'.$title.'" style="cursor:help">'.trim($newString).'...</span>'; return '<span class="hasTip" title="'.$title.'" style="cursor:help">'.trim($newString).'...</span>';
} }
elseif ($initial != $final && !$addTip) elseif ($initial != $final && !$addTip)
@ -766,15 +790,15 @@ abstract class ###Component###Helper
return ''; return '';
} }
public static function htmlEscape($var, $charset = 'UTF-8', $sorten = false, $length = 40) public static function htmlEscape($var, $charset = 'UTF-8', $shorten = false, $length = 40)
{ {
if (self::checkString($var)) if (self::checkString($var))
{ {
$filter = new JFilterInput(); $filter = new JFilterInput();
$string = $filter->clean(html_entity_decode(htmlentities($var, ENT_COMPAT, $charset)), 'HTML'); $string = $filter->clean(html_entity_decode(htmlentities($var, ENT_COMPAT, $charset)), 'HTML');
if ($sorten) if ($shorten)
{ {
return self::sorten($string,$length); return self::shorten($string,$length);
} }
return $string; return $string;
} }

View File

@ -43,13 +43,6 @@ class ###Component###View###View### extends JViewLegacy
*/ */
public function display($tpl = null) public function display($tpl = null)
{ {
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Assign the variables // Assign the variables
$this->form = $this->get('Form'); $this->form = $this->get('Form');
$this->item = $this->get('Item'); $this->item = $this->get('Item');
@ -76,6 +69,12 @@ class ###Component###View###View### extends JViewLegacy
// Set the toolbar // Set the toolbar
$this->addToolBar(); $this->addToolBar();
// Check for errors.
if (count($errors = $this->get('Errors')))
{
throw new Exception(implode("\n", $errors), 500);
}
// Display the template // Display the template
parent::display($tpl); parent::display($tpl);

View File

@ -43,13 +43,6 @@ class ###Component###View###View### extends JViewLegacy
*/ */
public function display($tpl = null) public function display($tpl = null)
{ {
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Assign the variables // Assign the variables
$this->form = $this->get('Form'); $this->form = $this->get('Form');
$this->item = $this->get('Item'); $this->item = $this->get('Item');
@ -76,6 +69,12 @@ class ###Component###View###View### extends JViewLegacy
// Set the toolbar // Set the toolbar
$this->addToolBar(); $this->addToolBar();
// Check for errors.
if (count($errors = $this->get('Errors')))
{
throw new Exception(implode("\n", $errors), 500);
}
// Display the template // Display the template
parent::display($tpl); parent::display($tpl);

View File

@ -51,13 +51,6 @@ class ###Component###ViewImport extends JViewLegacy
###Component###Helper::addSubmenu('import'); ###Component###Helper::addSubmenu('import');
} }
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
$paths = new stdClass; $paths = new stdClass;
$paths->first = ''; $paths->first = '';
$state = $this->get('state'); $state = $this->get('state');
@ -87,6 +80,12 @@ class ###Component###ViewImport extends JViewLegacy
$session->clear('dataType'); $session->clear('dataType');
} }
// Check for errors.
if (count($errors = $this->get('Errors')))
{
throw new Exception(implode("\n", $errors), 500);
}
// Display the template // Display the template
parent::display($tpl); parent::display($tpl);
} }

View File

@ -49,13 +49,6 @@ class ###Component###View###Views### extends JViewLegacy
###Component###Helper::addSubmenu('###views###'); ###Component###Helper::addSubmenu('###views###');
} }
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Assign data to the view // Assign data to the view
$this->items = $this->get('Items'); $this->items = $this->get('Items');
$this->pagination = $this->get('Pagination'); $this->pagination = $this->get('Pagination');
@ -79,6 +72,12 @@ class ###Component###View###Views### extends JViewLegacy
} }
} }
// Check for errors.
if (count($errors = $this->get('Errors')))
{
throw new Exception(implode("\n", $errors), 500);
}
// Display the template // Display the template
parent::display($tpl); parent::display($tpl);

View File

@ -0,0 +1,4 @@
###BOM###
/* JS Document */
###ADMINJS###

View File

@ -30,7 +30,7 @@ defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
?> ?>
<img alt="<?php echo JText::_('COM_###COMPONENT###'); ?>" src="components/com_###component###/assets/images/component-300.###COMP_IMAGE_TYPE###"> <img alt="<?php echo JText::_('COM_###COMPONENT###'); ?>" src="components/com_###component###/assets/images/vdm-component.###COMP_IMAGE_TYPE###">
<ul class="list-striped"> <ul class="list-striped">
<li><b><?php echo JText::_('COM_###COMPONENT###_VERSION'); ?>:</b> <?php echo $this->manifest->version; ?>&nbsp;&nbsp;<span class="update-notice"></span></li> <li><b><?php echo JText::_('COM_###COMPONENT###_VERSION'); ?>:</b> <?php echo $this->manifest->version; ?>&nbsp;&nbsp;<span class="update-notice"></span></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_DATE'); ?>:</b> <?php echo $this->manifest->creationDate; ?></li> <li><b><?php echo JText::_('COM_###COMPONENT###_DATE'); ?>:</b> <?php echo $this->manifest->creationDate; ?></li>

View File

@ -0,0 +1,4 @@
###BOM###
/* JS Document */
###SITEJS###

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage componentbuilder.php @subpackage componentbuilder.php
@ -44,6 +44,7 @@ $document->addScript('components/com_componentbuilder/assets/js/admin.js');
// require helper files // require helper files
JLoader::register('ComponentbuilderHelper', dirname(__FILE__) . '/helpers/componentbuilder.php'); JLoader::register('ComponentbuilderHelper', dirname(__FILE__) . '/helpers/componentbuilder.php');
JLoader::register('ComponentbuilderEmail', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/componentbuilderemail.php');
JLoader::register('JHtmlBatch_', dirname(__FILE__) . '/helpers/html/batch_.php'); JLoader::register('JHtmlBatch_', dirname(__FILE__) . '/helpers/html/batch_.php');
// Triger the Global Admin Event // Triger the Global Admin Event

View File

@ -76,6 +76,15 @@
/> />
<!-- Spacer_hr_a Field. Type: Spacer. A None Database Field. (joomla) --> <!-- Spacer_hr_a Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_a" hr="true" class="spacer_hr_a" /> <field type="spacer" name="spacer_hr_a" hr="true" class="spacer_hr_a" />
<!-- Api Field. Type: User. (joomla) -->
<field
type="user"
name="api"
label="COM_COMPONENTBUILDER_CONFIG_API_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_API_DESCRIPTION"
/>
<!-- Spacer_hr_b Field. Type: Spacer. A None Database Field. (joomla) -->
<field type="spacer" name="spacer_hr_b" hr="true" class="spacer_hr_b" />
<field name="autorTitle" <field name="autorTitle"
type="spacer" type="spacer"
label="COM_COMPONENTBUILDER_CONFIG_AUTHOR" label="COM_COMPONENTBUILDER_CONFIG_AUTHOR"
@ -146,6 +155,340 @@
COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD</option>" COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD</option>"
</field> </field>
</fieldset> </fieldset>
<fieldset
name="mail_configuration_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_MAIL_CONFIGURATION">
<!-- Mailonline Field. Type: Radio. (joomla) -->
<field
type="radio"
name="mailonline"
label="COM_COMPONENTBUILDER_CONFIG_MAILONLINE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_MAILONLINE_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_ON</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_OFF</option>
</field>
<!-- Mailer Field. Type: List. (joomla) -->
<field
type="list"
name="mailer"
label="COM_COMPONENTBUILDER_CONFIG_MAILER_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_MAILER_DESCRIPTION"
class="list_class"
multiple="false"
filter="WORD"
required="true"
default="global">
<!-- Option Set. -->
<option value="global">
COM_COMPONENTBUILDER_CONFIG_GLOBAL</option>
<option value="default">
COM_COMPONENTBUILDER_CONFIG_PHP_MAIL</option>
<option value="sendmail">
COM_COMPONENTBUILDER_CONFIG_SENDMAIL</option>
<option value="smtp">
COM_COMPONENTBUILDER_CONFIG_SMTP</option>
</field>
<!-- Emailfrom Field. Type: Text. (joomla) -->
<field
type="text"
name="emailfrom"
label="COM_COMPONENTBUILDER_CONFIG_EMAILFROM_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_EMAILFROM_DESCRIPTION"
class="text_area"
filter="STRING"
validate="email"
message="Error! Please add email address here."
hint="COM_COMPONENTBUILDER_CONFIG_EMAILFROM_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Fromname Field. Type: Text. (joomla) -->
<field
type="text"
name="fromname"
label="COM_COMPONENTBUILDER_CONFIG_FROMNAME_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_FROMNAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add some name here."
hint="COM_COMPONENTBUILDER_CONFIG_FROMNAME_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Email reply to Field. Type: Text. (joomla) -->
<field
type="text"
name="replyto"
label="COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_DESCRIPTION"
class="text_area"
filter="STRING"
validate="email"
message="Error! Please add email address here."
hint="COM_COMPONENTBUILDER_CONFIG_EMAILREPLY_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Reply to name Field. Type: Text. (joomla) -->
<field
type="text"
name="replytoname"
label="COM_COMPONENTBUILDER_CONFIG_REPLYNAME_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_REPLYNAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add some name here."
hint="COM_COMPONENTBUILDER_CONFIG_REPLYNAME_HINT"
showon="mailer:smtp,sendmail,default"
/>
<!-- Sendmail Field. Type: Text. (joomla) -->
<field
type="text"
name="sendmail"
label="COM_COMPONENTBUILDER_CONFIG_SENDMAIL_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_SENDMAIL_DESCRIPTION"
class="text_area"
required="false"
filter="PATH"
message="Error! Please add path to you local sendmail here."
hint="COM_COMPONENTBUILDER_CONFIG_SENDMAIL_HINT"
showon="mailer:sendmail"
/>
<!-- Smtpauth Field. Type: Radio. (joomla) -->
<field
type="radio"
name="smtpauth"
label="COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
showon="mailer:smtp">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Smtpsecure Field. Type: List. (joomla) -->
<field
type="list"
name="smtpsecure"
label="COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_SMTPSECURE_DESCRIPTION"
class="list_class"
multiple="false"
filter="WORD"
default="none"
showon="mailer:smtp">
<!-- Option Set. -->
<option value="none">
COM_COMPONENTBUILDER_CONFIG_NONE</option>
<option value="ssl">
COM_COMPONENTBUILDER_CONFIG_SSL</option>
<option value="tls">
COM_COMPONENTBUILDER_CONFIG_TLS</option>
</field>
<!-- Smtpport Field. Type: Text. (joomla) -->
<field
type="text"
name="smtpport"
label="COM_COMPONENTBUILDER_CONFIG_SMTPPORT_LABEL"
size="60"
maxlength="150"
default="25"
description="COM_COMPONENTBUILDER_CONFIG_SMTPPORT_DESCRIPTION"
class="text_area"
filter="INT"
message="Error! Please add the port number of your SMTP server here."
hint="COM_COMPONENTBUILDER_CONFIG_SMTPPORT_HINT"
showon="mailer:smtp"
/>
<!-- Smtpuser Field. Type: Text. (joomla) -->
<field
type="text"
name="smtpuser"
label="COM_COMPONENTBUILDER_CONFIG_SMTPUSER_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_SMTPUSER_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add the username for SMTP server here."
hint="COM_COMPONENTBUILDER_CONFIG_SMTPUSER_HINT"
showon="mailer:smtp"
/>
<!-- Smtppass Field. Type: Password. (joomla) -->
<field
type="password"
name="smtppass"
label="COM_COMPONENTBUILDER_CONFIG_SMTPPASS_LABEL"
size="60"
description="COM_COMPONENTBUILDER_CONFIG_SMTPPASS_DESCRIPTION"
class="text_area"
filter="raw"
message="Error! Please add the password for SMTP server here."
showon="mailer:smtp"
/>
<!-- Smtphost Field. Type: Text. (joomla) -->
<field
type="text"
name="smtphost"
label="COM_COMPONENTBUILDER_CONFIG_SMTPHOST_LABEL"
size="60"
maxlength="150"
default="localhost"
description="COM_COMPONENTBUILDER_CONFIG_SMTPHOST_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add the name of the SMTP host here."
hint="COM_COMPONENTBUILDER_CONFIG_SMTPHOST_HINT"
showon="mailer:smtp"
/>
</fieldset>
<fieldset
name="dkim_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_DKIM">
<!-- Dkim Field. Type: Radio. (joomla) -->
<field
type="radio"
name="dkim"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_LABEL"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_CONFIG_YES</option>
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Dkim_domain Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_domain"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add DKIM Domain here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_HINT"
showon="dkim:1"
onchange="vdm_dkim();"
/>
<!-- Dkim_selector Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_selector"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_LABEL"
size="60"
maxlength="150"
default="vdm"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add DKIM/DNS selector here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_SELECTOR_HINT"
showon="dkim:1"
onchange="vdm_dkim();"
/>
<!-- Dkim_passphrase Field. Type: Password. (joomla) -->
<field
type="password"
name="dkim_passphrase"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_PASSPHRASE_LABEL"
size="60"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_PASSPHRASE_DESCRIPTION"
class="text_area"
filter="raw"
message="Error! Please add passphrase here."
showon="dkim:1"
/>
<!-- Dkim_identity Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_identity"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_DESCRIPTION"
class="text_area"
filter="raw"
message="Error! Please add DKIM Identity here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_IDENTITY_HINT"
showon="dkim:1"
/>
<!-- Dkim_private_key Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="dkim_private_key"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_PRIVATE_KEY_LABEL"
rows="15"
cols="5"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_PRIVATE_KEY_DESCRIPTION"
class="input-xxlarge span12"
showon="dkim:1"
/>
<!-- Dkim_public_key Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="dkim_public_key"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_PUBLIC_KEY_LABEL"
rows="5"
cols="5"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_PUBLIC_KEY_DESCRIPTION"
class="input-xxlarge span12"
showon="dkim:1"
onchange="vdm_dkim();"
/>
<!-- Note_dkim_use Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_dkim_use" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_DESCRIPTION" heading="h4" class="note_dkim_use" showon="dkim:1" />
<!-- Dkim_key Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_key"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add KEY here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_KEY_HINT"
showon="dkim:1"
/>
<!-- Dkim_value Field. Type: Text. (joomla) -->
<field
type="text"
name="dkim_value"
label="COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_LABEL"
size="80"
maxlength="350"
description="COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please add TXT record here."
hint="COM_COMPONENTBUILDER_CONFIG_DKIM_VALUE_HINT"
showon="dkim:1"
/>
</fieldset>
<fieldset <fieldset
name="encryption_config" name="encryption_config"
label="COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_LABEL" label="COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_LABEL"
@ -159,6 +502,62 @@
default="" default=""
/> />
</fieldset> </fieldset>
<fieldset
name="cronjob_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB">
<!-- Backupcronjob_note Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="backupcronjob_note" label="COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_LABEL" description="COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_DESCRIPTION" heading="h4" class="backupcronjob_note" />
<!-- Cronjob_backup_folder_path Field. Type: Text. (joomla) -->
<field
type="text"
name="cronjob_backup_folder_path"
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="PATH"
message="Error! Please add some text here."
hint="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_HINT"
/>
<!-- Backup_email Field. Type: Text. (joomla) -->
<field
type="text"
name="backup_email"
label="COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_LABEL"
size="10"
maxlength="50"
description="COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_DESCRIPTION"
class="text_area"
filter="STRING"
validate="email"
message="Error! Please add email address here."
hint="COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_HINT"
/>
<!-- Package_name_plaeholders Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="package_name_plaeholders" label="COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_LABEL" description="COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_DESCRIPTION" heading="h4" class="package_name_plaeholders" />
<!-- Backup_package_name Field. Type: Text. (joomla) -->
<field
type="text"
name="backup_package_name"
label="COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_LABEL"
size="40"
maxlength="150"
default="JCB_Backup_[YEAR]_[MONTH]_[DAY]"
description="COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="Error! Please add name here."
hint="COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_HINT"
/>
</fieldset>
<fieldset <fieldset
name="folder_paths_custom_config" name="folder_paths_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_FOLDER_PATHS"> label="COM_COMPONENTBUILDER_CONFIG_FOLDER_PATHS">

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage controller.php @subpackage controller.php
@ -101,7 +101,10 @@ class ComponentbuilderController extends JControllerLegacy
'fieldtype' => 'fieldtypes', 'fieldtype' => 'fieldtypes',
'language_translation' => 'language_translations', 'language_translation' => 'language_translations',
'language' => 'languages', 'language' => 'languages',
'help_document' => 'help_documents' 'ftp' => 'ftps',
'help_document' => 'help_documents',
'admin_fields' => 'admins_fields',
'admin_fields_conditions' => 'admins_fields_conditions'
); );
// check if this is a list view // check if this is a list view
if (in_array($view,$views)) if (in_array($view,$views))

View File

@ -0,0 +1,326 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 23 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admin_fields.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controllerform library
jimport('joomla.application.component.controllerform');
/**
* Admin_fields Controller
*/
class ComponentbuilderControllerAdmin_fields extends JControllerForm
{
/**
* Current or most recently performed task.
*
* @var string
* @since 12.2
* @note Replaces _task.
*/
protected $task;
public function __construct($config = array())
{
$this->view_list = 'Admins_fields'; // safeguard for setting the return view listing to the main view.
parent::__construct($config);
}
/**
* Method override to check if you can add a new record.
*
* @param array $data An array of input data.
*
* @return boolean
*
* @since 1.6
*/
protected function allowAdd($data = array())
{
// Access check.
$access = JFactory::getUser()->authorise('admin_fields.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return JFactory::getUser()->authorise('admin_fields.create', $this->option);
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
*
* @since 1.6
*/
protected function allowEdit($data = array(), $key = 'id')
{
// get user object.
$user = JFactory::getUser();
// get record id.
$recordId = (int) isset($data[$key]) ? $data[$key] : 0;
// Access check.
$access = ($user->authorise('admin_fields.access', 'com_componentbuilder.admin_fields.' . (int) $recordId) && $user->authorise('admin_fields.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('admin_fields.edit', 'com_componentbuilder.admin_fields.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('admin_fields.edit.own', 'com_componentbuilder.admin_fields.' . $recordId))
{
// Now test the owner is the user.
$ownerId = (int) isset($data['created_by']) ? $data['created_by'] : 0;
if (empty($ownerId))
{
// Need to do a lookup from the model.
$record = $this->getModel()->getItem($recordId);
if (empty($record))
{
return false;
}
$ownerId = $record->created_by;
}
// If the owner matches 'me' then allow.
if ($ownerId == $user->id)
{
if ($user->authorise('admin_fields.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('admin_fields.edit', $this->option);
}
/**
* Gets the URL arguments to append to an item redirect.
*
* @param integer $recordId The primary key id for the item.
* @param string $urlVar The name of the URL variable for the id.
*
* @return string The arguments to append to the redirect URL.
*
* @since 12.2
*/
protected function getRedirectToItemAppend($recordId = null, $urlVar = 'id')
{
$tmpl = $this->input->get('tmpl');
$layout = $this->input->get('layout', 'edit', 'string');
$ref = $this->input->get('ref', 0, 'string');
$refid = $this->input->get('refid', 0, 'int');
// Setup redirect info.
$append = '';
if ($refid)
{
$append .= '&ref='.(string)$ref.'&refid='.(int)$refid;
}
elseif ($ref)
{
$append .= '&ref='.(string)$ref;
}
if ($tmpl)
{
$append .= '&tmpl=' . $tmpl;
}
if ($layout)
{
$append .= '&layout=' . $layout;
}
if ($recordId)
{
$append .= '&' . $urlVar . '=' . $recordId;
}
return $append;
}
/**
* Method to run batch operations.
*
* @param object $model The model.
*
* @return boolean True if successful, false otherwise and internal error is set.
*
* @since 2.5
*/
public function batch($model = null)
{
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// Set the model
$model = $this->getModel('Admin_fields', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=admins_fields' . $this->getRedirectToListAppend(), false));
return parent::batch($model);
}
/**
* Method to cancel an edit.
*
* @param string $key The name of the primary key of the URL variable.
*
* @return boolean True if access level checks pass, false otherwise.
*
* @since 12.2
*/
public function cancel($key = null)
{
// get the referal details
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
$cancel = parent::cancel($key);
if ($cancel)
{
if ($this->refid)
{
$redirect = '&view='.(string)$this->ref.'&layout=edit&id='.(int)$this->refid;
// Redirect to the item screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
elseif ($this->ref)
{
$redirect = '&view='.(string)$this->ref;
// Redirect to the list screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
}
else
{
// Redirect to the items screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_list, false
)
);
}
return $cancel;
}
/**
* Method to save a record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key (sometimes required to avoid router collisions).
*
* @return boolean True if successful, false otherwise.
*
* @since 12.2
*/
public function save($key = null, $urlVar = null)
{
// get the referal details
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
if ($this->ref || $this->refid)
{
// to make sure the item is checkedin on redirect
$this->task = 'save';
}
$saved = parent::save($key, $urlVar);
if ($this->refid && $saved)
{
$redirect = '&view='.(string)$this->ref.'&layout=edit&id='.(int)$this->refid;
// Redirect to the item screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
elseif ($this->ref && $saved)
{
$redirect = '&view='.(string)$this->ref;
// Redirect to the list screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
return $saved;
}
/**
* Function that allows child controller access to model data
* after the data has been saved.
*
* @param JModel &$model The data model object.
* @param array $validData The validated data.
*
* @return void
*
* @since 11.1
*/
protected function postSaveHook(JModelLegacy $model, $validData = array())
{
return;
}
}

View File

@ -0,0 +1,326 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admin_fields_conditions.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controllerform library
jimport('joomla.application.component.controllerform');
/**
* Admin_fields_conditions Controller
*/
class ComponentbuilderControllerAdmin_fields_conditions extends JControllerForm
{
/**
* Current or most recently performed task.
*
* @var string
* @since 12.2
* @note Replaces _task.
*/
protected $task;
public function __construct($config = array())
{
$this->view_list = 'Admins_fields_conditions'; // safeguard for setting the return view listing to the main view.
parent::__construct($config);
}
/**
* Method override to check if you can add a new record.
*
* @param array $data An array of input data.
*
* @return boolean
*
* @since 1.6
*/
protected function allowAdd($data = array())
{
// Access check.
$access = JFactory::getUser()->authorise('admin_fields_conditions.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return JFactory::getUser()->authorise('admin_fields_conditions.create', $this->option);
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
*
* @since 1.6
*/
protected function allowEdit($data = array(), $key = 'id')
{
// get user object.
$user = JFactory::getUser();
// get record id.
$recordId = (int) isset($data[$key]) ? $data[$key] : 0;
// Access check.
$access = ($user->authorise('admin_fields_conditions.access', 'com_componentbuilder.admin_fields_conditions.' . (int) $recordId) && $user->authorise('admin_fields_conditions.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('admin_fields_conditions.edit', 'com_componentbuilder.admin_fields_conditions.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('admin_fields_conditions.edit.own', 'com_componentbuilder.admin_fields_conditions.' . $recordId))
{
// Now test the owner is the user.
$ownerId = (int) isset($data['created_by']) ? $data['created_by'] : 0;
if (empty($ownerId))
{
// Need to do a lookup from the model.
$record = $this->getModel()->getItem($recordId);
if (empty($record))
{
return false;
}
$ownerId = $record->created_by;
}
// If the owner matches 'me' then allow.
if ($ownerId == $user->id)
{
if ($user->authorise('admin_fields_conditions.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('admin_fields_conditions.edit', $this->option);
}
/**
* Gets the URL arguments to append to an item redirect.
*
* @param integer $recordId The primary key id for the item.
* @param string $urlVar The name of the URL variable for the id.
*
* @return string The arguments to append to the redirect URL.
*
* @since 12.2
*/
protected function getRedirectToItemAppend($recordId = null, $urlVar = 'id')
{
$tmpl = $this->input->get('tmpl');
$layout = $this->input->get('layout', 'edit', 'string');
$ref = $this->input->get('ref', 0, 'string');
$refid = $this->input->get('refid', 0, 'int');
// Setup redirect info.
$append = '';
if ($refid)
{
$append .= '&ref='.(string)$ref.'&refid='.(int)$refid;
}
elseif ($ref)
{
$append .= '&ref='.(string)$ref;
}
if ($tmpl)
{
$append .= '&tmpl=' . $tmpl;
}
if ($layout)
{
$append .= '&layout=' . $layout;
}
if ($recordId)
{
$append .= '&' . $urlVar . '=' . $recordId;
}
return $append;
}
/**
* Method to run batch operations.
*
* @param object $model The model.
*
* @return boolean True if successful, false otherwise and internal error is set.
*
* @since 2.5
*/
public function batch($model = null)
{
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// Set the model
$model = $this->getModel('Admin_fields_conditions', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=admins_fields_conditions' . $this->getRedirectToListAppend(), false));
return parent::batch($model);
}
/**
* Method to cancel an edit.
*
* @param string $key The name of the primary key of the URL variable.
*
* @return boolean True if access level checks pass, false otherwise.
*
* @since 12.2
*/
public function cancel($key = null)
{
// get the referal details
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
$cancel = parent::cancel($key);
if ($cancel)
{
if ($this->refid)
{
$redirect = '&view='.(string)$this->ref.'&layout=edit&id='.(int)$this->refid;
// Redirect to the item screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
elseif ($this->ref)
{
$redirect = '&view='.(string)$this->ref;
// Redirect to the list screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
}
else
{
// Redirect to the items screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_list, false
)
);
}
return $cancel;
}
/**
* Method to save a record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key (sometimes required to avoid router collisions).
*
* @return boolean True if successful, false otherwise.
*
* @since 12.2
*/
public function save($key = null, $urlVar = null)
{
// get the referal details
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
if ($this->ref || $this->refid)
{
// to make sure the item is checkedin on redirect
$this->task = 'save';
}
$saved = parent::save($key, $urlVar);
if ($this->refid && $saved)
{
$redirect = '&view='.(string)$this->ref.'&layout=edit&id='.(int)$this->refid;
// Redirect to the item screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
elseif ($this->ref && $saved)
{
$redirect = '&view='.(string)$this->ref;
// Redirect to the list screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
return $saved;
}
/**
* Function that allows child controller access to model data
* after the data has been saved.
*
* @param JModel &$model The data model object.
* @param array $validData The validated data.
*
* @return void
*
* @since 11.1
*/
protected function postSaveHook(JModelLegacy $model, $validData = array())
{
return;
}
}

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 111 of this MVC @version @update number 192 of this MVC
@build 17th July, 2017 @build 16th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage admin_view.php @subpackage admin_view.php
@ -67,7 +67,7 @@ class ComponentbuilderControllerAdmin_view extends JControllerForm
return false; return false;
} }
// In the absense of better information, revert to the component permissions. // In the absense of better information, revert to the component permissions.
return parent::allowAdd($data); return JFactory::getUser()->authorise('admin_view.create', $this->option);
} }
/** /**
@ -98,10 +98,10 @@ class ComponentbuilderControllerAdmin_view extends JControllerForm
if ($recordId) if ($recordId)
{ {
// The record has been set. Check the record permissions. // The record has been set. Check the record permissions.
$permission = $user->authorise('core.edit', 'com_componentbuilder.admin_view.' . (int) $recordId); $permission = $user->authorise('admin_view.edit', 'com_componentbuilder.admin_view.' . (int) $recordId);
if (!$permission) if (!$permission)
{ {
if ($user->authorise('core.edit.own', 'com_componentbuilder.admin_view.' . $recordId)) if ($user->authorise('admin_view.edit.own', 'com_componentbuilder.admin_view.' . $recordId))
{ {
// Now test the owner is the user. // Now test the owner is the user.
$ownerId = (int) isset($data['created_by']) ? $data['created_by'] : 0; $ownerId = (int) isset($data['created_by']) ? $data['created_by'] : 0;
@ -120,7 +120,7 @@ class ComponentbuilderControllerAdmin_view extends JControllerForm
// If the owner matches 'me' then allow. // If the owner matches 'me' then allow.
if ($ownerId == $user->id) if ($ownerId == $user->id)
{ {
if ($user->authorise('core.edit.own', 'com_componentbuilder')) if ($user->authorise('admin_view.edit.own', 'com_componentbuilder'))
{ {
return true; return true;
} }
@ -130,7 +130,7 @@ class ComponentbuilderControllerAdmin_view extends JControllerForm
} }
} }
// Since there is no permission, revert to the component permissions. // Since there is no permission, revert to the component permissions.
return parent::allowEdit($data, $key); return $user->authorise('admin_view.edit', $this->option);
} }
/** /**

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 111 of this MVC @version @update number 192 of this MVC
@build 17th July, 2017 @build 16th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage admin_views.php @subpackage admin_views.php

View File

@ -0,0 +1,48 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 23 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admins_fields.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controlleradmin library
jimport('joomla.application.component.controlleradmin');
/**
* Admins_fields Controller
*/
class ComponentbuilderControllerAdmins_fields extends JControllerAdmin
{
protected $text_prefix = 'COM_COMPONENTBUILDER_ADMINS_FIELDS';
/**
* Proxy for getModel.
* @since 2.5
*/
public function getModel($name = 'Admin_fields', $prefix = 'ComponentbuilderModel', $config = array())
{
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
return $model;
}
}

View File

@ -0,0 +1,48 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC
@build 16th October, 2017
@created 12th October, 2017
@package Component Builder
@subpackage admins_fields_conditions.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controlleradmin library
jimport('joomla.application.component.controlleradmin');
/**
* Admins_fields_conditions Controller
*/
class ComponentbuilderControllerAdmins_fields_conditions extends JControllerAdmin
{
protected $text_prefix = 'COM_COMPONENTBUILDER_ADMINS_FIELDS_CONDITIONS';
/**
* Proxy for getModel.
* @since 2.5
*/
public function getModel($name = 'Admin_fields_conditions', $prefix = 'ComponentbuilderModel', $config = array())
{
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
return $model;
}
}

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage ajax.json.php @subpackage ajax.json.php
@ -45,21 +45,22 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
$this->registerTask('isNew', 'ajax'); $this->registerTask('isNew', 'ajax');
$this->registerTask('isRead', 'ajax'); $this->registerTask('isRead', 'ajax');
$this->registerTask('getComponentDetails', 'ajax'); $this->registerTask('getComponentDetails', 'ajax');
$this->registerTask('getCronPath', 'ajax');
$this->registerTask('tableColumns', 'ajax'); $this->registerTask('tableColumns', 'ajax');
$this->registerTask('fieldSelectOptions', 'ajax'); $this->registerTask('fieldSelectOptions', 'ajax');
$this->registerTask('getImportScripts', 'ajax'); $this->registerTask('getImportScripts', 'ajax');
$this->registerTask('layoutDetails', 'ajax'); $this->registerTask('getButton', 'ajax');
$this->registerTask('getButtonID', 'ajax');
$this->registerTask('getFieldsDisplay', 'ajax');
$this->registerTask('templateDetails', 'ajax'); $this->registerTask('templateDetails', 'ajax');
$this->registerTask('snippetDetails', 'ajax'); $this->registerTask('getLayoutDetails', 'ajax');
$this->registerTask('dynamicValues', 'ajax');
$this->registerTask('dynamicFormDetails', 'ajax');
$this->registerTask('dbTableColumns', 'ajax'); $this->registerTask('dbTableColumns', 'ajax');
$this->registerTask('viewTableColumns', 'ajax'); $this->registerTask('viewTableColumns', 'ajax');
$this->registerTask('getDynamicValues', 'ajax');
$this->registerTask('checkFunctionName', 'ajax'); $this->registerTask('checkFunctionName', 'ajax');
$this->registerTask('usedin', 'ajax'); $this->registerTask('usedin', 'ajax');
$this->registerTask('snippetDetails', 'ajax');
$this->registerTask('fieldOptions', 'ajax'); $this->registerTask('fieldOptions', 'ajax');
$this->registerTask('getBuildTable', 'ajax');
$this->registerTask('getButton', 'ajax');
} }
public function ajax() public function ajax()
@ -188,6 +189,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
} }
} }
break; break;
case 'getCronPath':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$getTypeValue = $jinput->get('getType', NULL, 'WORD');
if($getTypeValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getCronPath($getTypeValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'tableColumns': case 'tableColumns':
try try
{ {
@ -302,14 +341,91 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
} }
} }
break; break;
case 'layoutDetails': case 'getButton':
try try
{ {
$returnRaw = $jinput->get('raw', false, 'BOOLEAN'); $returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idValue = $jinput->get('id', null, 'INT'); $typeValue = $jinput->get('type', NULL, 'WORD');
if($idValue && $user->id != 0) if($typeValue && $user->id != 0)
{ {
$result = $this->getModel('ajax')->getLayoutDetails($idValue); $result = $this->getModel('ajax')->getButton($typeValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'getButtonID':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$typeValue = $jinput->get('type', NULL, 'WORD');
$sizeValue = $jinput->get('size', NULL, 'INT');
if($typeValue && $sizeValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getButtonID($typeValue, $sizeValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'getFieldsDisplay':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$typeValue = $jinput->get('type', NULL, 'WORD');
if($typeValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getFieldsDisplay($typeValue);
} }
else else
{ {
@ -378,91 +494,14 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
} }
} }
break; break;
case 'snippetDetails': case 'getLayoutDetails':
try try
{ {
$returnRaw = $jinput->get('raw', false, 'BOOLEAN'); $returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idValue = $jinput->get('id', NULL, 'INT'); $idValue = $jinput->get('id', NULL, 'INT');
if($idValue && $user->id != 0) if($idValue && $user->id != 0)
{ {
$result = $this->getModel('ajax')->getSnippetDetails($idValue); $result = $this->getModel('ajax')->getLayoutDetails($idValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'dynamicValues':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idValue = $jinput->get('id', NULL, 'INT');
$viewValue = $jinput->get('view', NULL, 'WORD');
if($idValue && $viewValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getDynamicValues($idValue, $viewValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'dynamicFormDetails':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idValue = $jinput->get('id', NULL, 'INT');
if($idValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getDynamicFormDetails($idValue);
} }
else else
{ {
@ -573,6 +612,45 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
} }
} }
break; break;
case 'getDynamicValues':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idValue = $jinput->get('id', NULL, 'INT');
$viewValue = $jinput->get('view', NULL, 'WORD');
if($idValue && $viewValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getDynamicValues($idValue, $viewValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'checkFunctionName': case 'checkFunctionName':
try try
{ {
@ -652,6 +730,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
} }
} }
break; break;
case 'snippetDetails':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idValue = $jinput->get('id', NULL, 'INT');
if($idValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getSnippetDetails($idValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'fieldOptions': case 'fieldOptions':
try try
{ {
@ -690,83 +806,6 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
} }
} }
break; break;
case 'getBuildTable':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idNameValue = $jinput->get('idName', NULL, 'CMD');
$objectValue = $jinput->get('object', NULL, 'STRING');
if($idNameValue && $objectValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getBuildTable($idNameValue, $objectValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'getButton':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$typeValue = $jinput->get('type', NULL, 'WORD');
if($typeValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getButton($typeValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
} }
} }
else else

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 53 of this MVC @version @update number 57 of this MVC
@build 5th August, 2017 @build 13th October, 2017
@created 1st February, 2017 @created 1st February, 2017
@package Component Builder @package Component Builder
@subpackage compiler.php @subpackage compiler.php
@ -70,13 +70,13 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
$componentId = $jinput->post->get('component', 0, 'INT'); $componentId = $jinput->post->get('component', 0, 'INT');
$version = $jinput->post->get('version', 0, 'INT'); $version = $jinput->post->get('version', 0, 'INT');
$addBackup = $jinput->post->get('backup', 0, 'INT'); $addBackup = $jinput->post->get('backup', 0, 'INT');
$addGit = $jinput->post->get('git', 0, 'INT'); $addRepo = $jinput->post->get('repository', 0, 'INT');
$addPlaceholders = $jinput->post->get('placeholders', 2, 'INT'); $addPlaceholders = $jinput->post->get('placeholders', 2, 'INT');
$debugLinenr = $jinput->post->get('debuglinenr', 2, 'INT'); $debugLinenr = $jinput->post->get('debuglinenr', 2, 'INT');
// include component compiler // include component compiler
require_once JPATH_ADMINISTRATOR.'/components/com_componentbuilder/helpers/compiler.php'; require_once JPATH_ADMINISTRATOR.'/components/com_componentbuilder/helpers/compiler.php';
$model = $this->getModel('compiler'); $model = $this->getModel('compiler');
if ($model->builder($version,$componentId,$addBackup,$addGit,$addPlaceholders,$debugLinenr)) if ($model->builder($version,$componentId,$addBackup,$addRepo,$addPlaceholders,$debugLinenr))
{ {
$cache = JFactory::getCache('mod_menu'); $cache = JFactory::getCache('mod_menu');
$cache->clean(); $cache->clean();

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage componentbuilder.php @subpackage componentbuilder.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC @version @update number 32 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 13th August, 2015 @created 13th August, 2015
@package Component Builder @package Component Builder
@subpackage custom_admin_view.php @subpackage custom_admin_view.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC @version @update number 32 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 13th August, 2015 @created 13th August, 2015
@package Component Builder @package Component Builder
@subpackage custom_admin_views.php @subpackage custom_admin_views.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 82 of this MVC @version @update number 84 of this MVC
@build 26th April, 2017 @build 13th October, 2017
@created 11th October, 2016 @created 11th October, 2016
@package Component Builder @package Component Builder
@subpackage custom_code.php @subpackage custom_code.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 82 of this MVC @version @update number 84 of this MVC
@build 26th April, 2017 @build 13th October, 2017
@created 11th October, 2016 @created 11th October, 2016
@package Component Builder @package Component Builder
@subpackage custom_codes.php @subpackage custom_codes.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 84 of this MVC @version @update number 98 of this MVC
@build 4th May, 2017 @build 20th October, 2017
@created 21st May, 2015 @created 21st May, 2015
@package Component Builder @package Component Builder
@subpackage dynamic_get.php @subpackage dynamic_get.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 84 of this MVC @version @update number 98 of this MVC
@build 4th May, 2017 @build 20th October, 2017
@created 21st May, 2015 @created 21st May, 2015
@package Component Builder @package Component Builder
@subpackage dynamic_gets.php @subpackage dynamic_gets.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 38 of this MVC @version @update number 40 of this MVC
@build 28th May, 2017 @build 18th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage field.php @subpackage field.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 38 of this MVC @version @update number 40 of this MVC
@build 28th May, 2017 @build 18th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage fields.php @subpackage fields.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 13 of this MVC @version @update number 16 of this MVC
@build 13th June, 2017 @build 13th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage fieldtype.php @subpackage fieldtype.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 13 of this MVC @version @update number 16 of this MVC
@build 13th June, 2017 @build 13th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage fieldtypes.php @subpackage fieldtypes.php

326
admin/controllers/ftp.php Normal file
View File

@ -0,0 +1,326 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 11 of this MVC
@build 16th October, 2017
@created 23rd August, 2017
@package Component Builder
@subpackage ftp.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controllerform library
jimport('joomla.application.component.controllerform');
/**
* Ftp Controller
*/
class ComponentbuilderControllerFtp extends JControllerForm
{
/**
* Current or most recently performed task.
*
* @var string
* @since 12.2
* @note Replaces _task.
*/
protected $task;
public function __construct($config = array())
{
$this->view_list = 'Ftps'; // safeguard for setting the return view listing to the main view.
parent::__construct($config);
}
/**
* Method override to check if you can add a new record.
*
* @param array $data An array of input data.
*
* @return boolean
*
* @since 1.6
*/
protected function allowAdd($data = array())
{
// Access check.
$access = JFactory::getUser()->authorise('ftp.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return JFactory::getUser()->authorise('ftp.create', $this->option);
}
/**
* Method override to check if you can edit an existing record.
*
* @param array $data An array of input data.
* @param string $key The name of the key for the primary key.
*
* @return boolean
*
* @since 1.6
*/
protected function allowEdit($data = array(), $key = 'id')
{
// get user object.
$user = JFactory::getUser();
// get record id.
$recordId = (int) isset($data[$key]) ? $data[$key] : 0;
// Access check.
$access = ($user->authorise('ftp.access', 'com_componentbuilder.ftp.' . (int) $recordId) && $user->authorise('ftp.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('ftp.edit', 'com_componentbuilder.ftp.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('ftp.edit.own', 'com_componentbuilder.ftp.' . $recordId))
{
// Now test the owner is the user.
$ownerId = (int) isset($data['created_by']) ? $data['created_by'] : 0;
if (empty($ownerId))
{
// Need to do a lookup from the model.
$record = $this->getModel()->getItem($recordId);
if (empty($record))
{
return false;
}
$ownerId = $record->created_by;
}
// If the owner matches 'me' then allow.
if ($ownerId == $user->id)
{
if ($user->authorise('ftp.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('ftp.edit', $this->option);
}
/**
* Gets the URL arguments to append to an item redirect.
*
* @param integer $recordId The primary key id for the item.
* @param string $urlVar The name of the URL variable for the id.
*
* @return string The arguments to append to the redirect URL.
*
* @since 12.2
*/
protected function getRedirectToItemAppend($recordId = null, $urlVar = 'id')
{
$tmpl = $this->input->get('tmpl');
$layout = $this->input->get('layout', 'edit', 'string');
$ref = $this->input->get('ref', 0, 'string');
$refid = $this->input->get('refid', 0, 'int');
// Setup redirect info.
$append = '';
if ($refid)
{
$append .= '&ref='.(string)$ref.'&refid='.(int)$refid;
}
elseif ($ref)
{
$append .= '&ref='.(string)$ref;
}
if ($tmpl)
{
$append .= '&tmpl=' . $tmpl;
}
if ($layout)
{
$append .= '&layout=' . $layout;
}
if ($recordId)
{
$append .= '&' . $urlVar . '=' . $recordId;
}
return $append;
}
/**
* Method to run batch operations.
*
* @param object $model The model.
*
* @return boolean True if successful, false otherwise and internal error is set.
*
* @since 2.5
*/
public function batch($model = null)
{
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// Set the model
$model = $this->getModel('Ftp', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=ftps' . $this->getRedirectToListAppend(), false));
return parent::batch($model);
}
/**
* Method to cancel an edit.
*
* @param string $key The name of the primary key of the URL variable.
*
* @return boolean True if access level checks pass, false otherwise.
*
* @since 12.2
*/
public function cancel($key = null)
{
// get the referal details
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
$cancel = parent::cancel($key);
if ($cancel)
{
if ($this->refid)
{
$redirect = '&view='.(string)$this->ref.'&layout=edit&id='.(int)$this->refid;
// Redirect to the item screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
elseif ($this->ref)
{
$redirect = '&view='.(string)$this->ref;
// Redirect to the list screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
}
else
{
// Redirect to the items screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_list, false
)
);
}
return $cancel;
}
/**
* Method to save a record.
*
* @param string $key The name of the primary key of the URL variable.
* @param string $urlVar The name of the URL variable if different from the primary key (sometimes required to avoid router collisions).
*
* @return boolean True if successful, false otherwise.
*
* @since 12.2
*/
public function save($key = null, $urlVar = null)
{
// get the referal details
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
if ($this->ref || $this->refid)
{
// to make sure the item is checkedin on redirect
$this->task = 'save';
}
$saved = parent::save($key, $urlVar);
if ($this->refid && $saved)
{
$redirect = '&view='.(string)$this->ref.'&layout=edit&id='.(int)$this->refid;
// Redirect to the item screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
elseif ($this->ref && $saved)
{
$redirect = '&view='.(string)$this->ref;
// Redirect to the list screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . $redirect, false
)
);
}
return $saved;
}
/**
* Function that allows child controller access to model data
* after the data has been saved.
*
* @param JModel &$model The data model object.
* @param array $validData The validated data.
*
* @return void
*
* @since 11.1
*/
protected function postSaveHook(JModelLegacy $model, $validData = array())
{
return;
}
}

111
admin/controllers/ftps.php Normal file
View File

@ -0,0 +1,111 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 11 of this MVC
@build 16th October, 2017
@created 23rd August, 2017
@package Component Builder
@subpackage ftps.php
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
Builds Complex Joomla Components
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controlleradmin library
jimport('joomla.application.component.controlleradmin');
/**
* Ftps Controller
*/
class ComponentbuilderControllerFtps extends JControllerAdmin
{
protected $text_prefix = 'COM_COMPONENTBUILDER_FTPS';
/**
* Proxy for getModel.
* @since 2.5
*/
public function getModel($name = 'Ftp', $prefix = 'ComponentbuilderModel', $config = array())
{
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
return $model;
}
public function exportData()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// check if export is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('ftp.export', 'com_componentbuilder') && $user->authorise('core.export', 'com_componentbuilder'))
{
// Get the input
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
JArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Ftps');
// get the data to export
$data = $model->getExportData($pks);
if (ComponentbuilderHelper::checkArray($data))
{
// now set the data to the spreadsheet
$date = JFactory::getDate();
ComponentbuilderHelper::xls($data,'Ftps_'.$date->format('jS_F_Y'),'Ftps exported ('.$date->format('jS F, Y').')','ftps');
}
}
// Redirect to the list screen with error.
$message = JText::_('COM_COMPONENTBUILDER_EXPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=ftps', false), $message, 'error');
return;
}
public function importData()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// check if import is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('ftp.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder'))
{
// Get the import model
$model = $this->getModel('Ftps');
// get the headers to import
$headers = $model->getExImPortHeaders();
if (ComponentbuilderHelper::checkObject($headers))
{
// Load headers to session.
$session = JFactory::getSession();
$headers = json_encode($headers);
$session->set('ftp_VDM_IMPORTHEADERS', $headers);
$session->set('backto_VDM_IMPORT', 'ftps');
$session->set('dataType_VDM_IMPORTINTO', 'ftp');
// Redirect to import view.
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE_FOR_FTPS');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=import', false), $message);
return;
}
}
// Redirect to the list screen with error.
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=ftps', false), $message, 'error');
return;
}
}

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage help.php @subpackage help.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 6 of this MVC @version @update number 6 of this MVC
@build 18th October, 2016 @build 17th October, 2016
@created 4th March, 2016 @created 4th March, 2016
@package Component Builder @package Component Builder
@subpackage help_document.php @subpackage help_document.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 6 of this MVC @version @update number 6 of this MVC
@build 18th October, 2016 @build 17th October, 2016
@created 4th March, 2016 @created 4th March, 2016
@package Component Builder @package Component Builder
@subpackage help_documents.php @subpackage help_documents.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage import.php @subpackage import.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.10 @version 2.5.8
@build 12th August, 2017 @build 20th October, 2017
@created 30th April, 2015 @created 30th April, 2015
@package Component Builder @package Component Builder
@subpackage import_joomla_components.php @subpackage import_joomla_components.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC @version @update number 473 of this MVC
@build 7th August, 2017 @build 20th October, 2017
@created 6th May, 2015 @created 6th May, 2015
@package Component Builder @package Component Builder
@subpackage joomla_component.php @subpackage joomla_component.php
@ -67,7 +67,7 @@ class ComponentbuilderControllerJoomla_component extends JControllerForm
return false; return false;
} }
// In the absense of better information, revert to the component permissions. // In the absense of better information, revert to the component permissions.
return parent::allowAdd($data); return JFactory::getUser()->authorise('joomla_component.create', $this->option);
} }
/** /**
@ -88,13 +88,20 @@ class ComponentbuilderControllerJoomla_component extends JControllerForm
$recordId = (int) isset($data[$key]) ? $data[$key] : 0; $recordId = (int) isset($data[$key]) ? $data[$key] : 0;
// Access check.
$access = ($user->authorise('joomla_component.access', 'com_componentbuilder.joomla_component.' . (int) $recordId) && $user->authorise('joomla_component.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId) if ($recordId)
{ {
// The record has been set. Check the record permissions. // The record has been set. Check the record permissions.
$permission = $user->authorise('core.edit', 'com_componentbuilder.joomla_component.' . (int) $recordId); $permission = $user->authorise('joomla_component.edit', 'com_componentbuilder.joomla_component.' . (int) $recordId);
if (!$permission) if (!$permission)
{ {
if ($user->authorise('core.edit.own', 'com_componentbuilder.joomla_component.' . $recordId)) if ($user->authorise('joomla_component.edit.own', 'com_componentbuilder.joomla_component.' . $recordId))
{ {
// Now test the owner is the user. // Now test the owner is the user.
$ownerId = (int) isset($data['created_by']) ? $data['created_by'] : 0; $ownerId = (int) isset($data['created_by']) ? $data['created_by'] : 0;
@ -113,7 +120,7 @@ class ComponentbuilderControllerJoomla_component extends JControllerForm
// If the owner matches 'me' then allow. // If the owner matches 'me' then allow.
if ($ownerId == $user->id) if ($ownerId == $user->id)
{ {
if ($user->authorise('core.edit.own', 'com_componentbuilder')) if ($user->authorise('joomla_component.edit.own', 'com_componentbuilder'))
{ {
return true; return true;
} }
@ -123,7 +130,7 @@ class ComponentbuilderControllerJoomla_component extends JControllerForm
} }
} }
// Since there is no permission, revert to the component permissions. // Since there is no permission, revert to the component permissions.
return parent::allowEdit($data, $key); return $user->authorise('joomla_component.edit', $this->option);
} }
/** /**

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 338 of this MVC @version @update number 473 of this MVC
@build 7th August, 2017 @build 20th October, 2017
@created 6th May, 2015 @created 6th May, 2015
@package Component Builder @package Component Builder
@subpackage joomla_components.php @subpackage joomla_components.php
@ -114,8 +114,8 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
// Check for request forgeries // Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN')); JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// check if import is allowed for this user. // check if import is allowed for this user.
$user = JFactory::getUser(); $model->user = JFactory::getUser();
if ($user->authorise('joomla_component.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder')) if ($model->user->authorise('joomla_component.import', 'com_componentbuilder') && $model->user->authorise('core.import', 'com_componentbuilder'))
{ {
$session = JFactory::getSession(); $session = JFactory::getSession();
$session->set('backto_VDM_IMPORT', 'joomla_components'); $session->set('backto_VDM_IMPORT', 'joomla_components');
@ -135,9 +135,11 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
{ {
// Check for request forgeries // Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN')); JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// Get the model
$model = $this->getModel('Joomla_components');
// check if export is allowed for this user. // check if export is allowed for this user.
$user = JFactory::getUser(); $model->user = JFactory::getUser();
if ($user->authorise('joomla_component.export', 'com_componentbuilder') && $user->authorise('core.export', 'com_componentbuilder')) if ($model->user->authorise('joomla_component.export', 'com_componentbuilder') && $model->user->authorise('core.export', 'com_componentbuilder'))
{ {
// Get the input // Get the input
$input = JFactory::getApplication()->input; $input = JFactory::getApplication()->input;
@ -152,8 +154,6 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error'); $this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error');
return; return;
} }
// Get the model
$model = $this->getModel('Joomla_components');
// set auto loader // set auto loader
ComponentbuilderHelper::autoLoader('smart'); ComponentbuilderHelper::autoLoader('smart');
// get the data to export // get the data to export
@ -239,4 +239,154 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error'); $this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error');
return; return;
} }
public function backup()
{
// get params
if (!isset($this->params) || !ComponentbuilderHelper::checkObject($this->params))
{
$this->params = JComponentHelper::getParams('com_componentbuilder');
}
// get all component IDs to backup
$pks = componentbuilderHelper::getComponentIDs();
// Get the model
$model = componentbuilderHelper::getModel('joomla_components', JPATH_ADMINISTRATOR . '/components/com_componentbuilder');
// set user
$model->user = $this->getApiUser();
// make sure to set active type to backup
$model->activeType = 'manualBackup';
// set auto loader
ComponentbuilderHelper::autoLoader('smart');
// manual backup message
$backupNotice = array();
// get the data to export
if (ComponentbuilderHelper::checkArray($pks) && $model->getSmartExport($pks))
{
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_BACKUP_WAS_DONE_SUCCESSFULLY');
$backupNoticeStatus = 'Success';
// set the key string
if (componentbuilderHelper::checkString($model->key) && strlen($model->key) == 32)
{
$textNotice = array();
$keyNotice = '<h1>' . JText::sprintf('COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE', $model->key) . '</h1>';
$textNotice[] = JText::sprintf('COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S', $model->key);
$keyNotice .= JText::_('COM_COMPONENTBUILDER_YOUR_DATA_IS_ENCRYPTED_WITH_A_AES_ONE_HUNDRED_AND_TWENTY_EIGHT_BIT_ENCRYPTION_USING_THE_ABOVE_THIRTY_TWO_CHARACTER_KEY_WITHOUT_THIS_KEY_IT_WILL_TAKE_THE_CURRENT_TECHNOLOGY_WITH_A_BRUTE_FORCE_ATTACK_METHOD_MORE_THEN_A_HREFHTTPRANDOMIZECOMHOWLONGTOHACKPASS_TARGET_BLANK_TITLEHOW_LONG_TO_HACK_PASSSEVEN_HUNDRED_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZERO_ZEROA_YEARS_TO_CRACK_THEORETICALLY_UNLESS_THEY_HAVE_THIS_KEY_ABOVE_SO_DO_KEEP_IT_SAFE') . '<br />';
// set the package owner info
if ((isset($model->info['getKeyFrom']['company']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['company'])) || (isset($model->info['getKeyFrom']['owner']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['owner'])))
{
$ownerDetails = '<h2>' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS') . '</h2>';
$textNotice[] = '# ' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS');
$ownerDetails .= '<ul>';
if (isset($model->info['getKeyFrom']['company']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['company']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMCOMPANYEM_BSB', $model->info['getKeyFrom']['company']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_COMPANY_S', $model->info['getKeyFrom']['company']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['owner']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['owner']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMOWNEREM_BSB', $model->info['getKeyFrom']['owner']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_OWNER_S', $model->info['getKeyFrom']['owner']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['website']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['website']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMWEBSITEEM_BSB', $model->info['getKeyFrom']['website']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_WEBSITE_S', $model->info['getKeyFrom']['website']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['email']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['email']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMEMAILEM_BSB', $model->info['getKeyFrom']['email']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_EMAIL_S', $model->info['getKeyFrom']['email']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['license']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['license']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMLICENSEEM_BSB', $model->info['getKeyFrom']['license']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_LICENSE_S', $model->info['getKeyFrom']['license']);
}
// add value only if set
if (isset($model->info['getKeyFrom']['copyright']) && componentbuilderHelper::checkString($model->info['getKeyFrom']['copyright']))
{
$ownerDetails .= '<li>' . JText::sprintf('COM_COMPONENTBUILDER_EMCOPYRIGHTEM_BSB', $model->info['getKeyFrom']['copyright']) . '</li>';
$textNotice[] = '- ' . JText::sprintf('COM_COMPONENTBUILDER_COPYRIGHT_S', $model->info['getKeyFrom']['copyright']);
}
$ownerDetails .= '</ul>';
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_OWNER_DETAILS_WAS_SET');
}
else
{
$ownerDetails = '<h2>' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_NOT_SET') . '</h2>';
$textNotice[] = '# ' . JText::_('COM_COMPONENTBUILDER_PACKAGE_OWNER_DETAILS');
$ownerDetails .= JText::_('COM_COMPONENTBUILDER_TO_CHANGE_THE_PACKAGE_OWNER_DEFAULTS_OPEN_THE_BJCB_GLOBAL_OPTIONSB_GO_TO_THE_BCOMPANYB_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE') . '<br />';
$textNotice[] = JText::_('COM_COMPONENTBUILDER_TO_CHANGE_THE_PACKAGE_OWNER_DEFAULTS_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE');
$ownerDetails .= '<h3>' . JText::_('COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS') . '</h3>';
$textNotice[] = '## ' . JText::_('COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS');
$ownerDetails .= JText::_('COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_BIMPORT_PROCESSB_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_BDOES_NOTB_HAVE_THE_KEY_THEY_CAN_SEE_BWHERE_TO_GET_ITB') . '<br />';
$textNotice[] = JText::_('COM_COMPONENTBUILDER_SINCE_THE_OWNER_DETAILS_ARE_DISPLAYED_DURING_IMPORT_PROCESS_BEFORE_ADDING_THE_KEY_THIS_WAY_IF_THE_USERDEV_DOES_NOT_HAVE_THE_KEY_THEY_CAN_SEE_WHERE_TO_GET_IT');
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE');
}
}
else
{
$keyNotice = '<h1>' . JText::_('COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY') . '</h1>';
$textNotice[] = '# ' . JText::_('COM_COMPONENTBUILDER_THIS_PACKAGE_HAS_NO_KEY');
$ownerDetails = JText::_('COM_COMPONENTBUILDER_THAT_MEANS_ANYONE_WHO_HAS_THIS_PACKAGE_CAN_INSTALL_IT_INTO_JCB_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_BSETTINGSB_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_BEXPORT_KEYB') . '<br />';
$textNotice[] = JText::_('COM_COMPONENTBUILDER_THAT_MEANS_ANYONE_WHO_HAS_THIS_PACKAGE_CAN_INSTALL_IT_INTO_JCB_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_SETTINGS_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_EXPORT_KEY');
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_NO_KEYS_WERE_FOUND_TO_ADD_AN_EXPORT_KEY_SIMPLY_OPEN_THE_COMPONENT_GO_TO_THE_TAB_CALLED_SETTINGS_BOTTOM_RIGHT_THERE_IS_A_FIELD_CALLED_EXPORT_KEY');
}
// get email
if ($email = $this->params->get('backup_email', null))
{
// plain text
$plainText = implode("\n", $textNotice);
// set hash to track changes
$hashTracker = md5($plainText);
if (ComponentbuilderHelper::newHash($hashTracker))
{
// Build final massage.
$message = $keyNotice . $ownerDetails . '<br /><small>HASH: ' . $hashTracker . '</small>';
// set the subject
$subject = JText::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDER_BACKUP_KEY');
// email the message
componentbuilderEmail::send($email, $subject, componentbuilderEmail::setTableBody($message, $subject), $plainText, 1);
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_EMAIL_WITH_THE_NEW_KEY_WAS_SEND');
}
else
{
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_KEY_HAS_NOT_CHANGED');
}
}
}
else
{
$backupNotice[] = JText::_('COM_COMPONENTBUILDER_BACKUP_FAILED_PLEASE_TRY_AGAIN_IF_THE_ERROR_CONTINUE_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR');
$backupNoticeStatus = 'Error';
if (componentbuilderHelper::checkString($model->packagePath))
{
// clear all if not successful
ComponentbuilderHelper::removeFolder($model->packagePath);
}
if (componentbuilderHelper::checkString($model->zipPath))
{
// clear all if not successful
JFile::delete($model->zipPath);
}
}
// quite only if auto backup (adding this script from custom code :)
if ('backup' === 'manualBackup')
{
echo "# " . $backupNoticeStatus . "\n" .implode("\n", $backupNotice);
jexit();
}
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), implode("<br />", $backupNotice), $backupNoticeStatus);
return;
}
protected function getApiUser()
{
// admin area does not have API user, only front-end (so we fallback on login user)
return JFactory::getUser();
}
} }

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 39 of this MVC @version @update number 45 of this MVC
@build 7th April, 2017 @build 14th October, 2017
@created 3rd April, 2017 @created 3rd April, 2017
@package Component Builder @package Component Builder
@subpackage language_translation.php @subpackage language_translation.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 39 of this MVC @version @update number 45 of this MVC
@build 7th April, 2017 @build 14th October, 2017
@created 3rd April, 2017 @created 3rd April, 2017
@package Component Builder @package Component Builder
@subpackage language_translations.php @subpackage language_translations.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 77 of this MVC @version @update number 81 of this MVC
@build 30th May, 2017 @build 27th September, 2017
@created 18th May, 2015 @created 18th May, 2015
@package Component Builder @package Component Builder
@subpackage layout.php @subpackage layout.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 77 of this MVC @version @update number 81 of this MVC
@build 30th May, 2017 @build 27th September, 2017
@created 18th May, 2015 @created 18th May, 2015
@package Component Builder @package Component Builder
@subpackage layouts.php @subpackage layouts.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC @version @update number 63 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 29th May, 2015 @created 29th May, 2015
@package Component Builder @package Component Builder
@subpackage site_view.php @subpackage site_view.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC @version @update number 63 of this MVC
@build 17th July, 2017 @build 20th October, 2017
@created 29th May, 2015 @created 29th May, 2015
@package Component Builder @package Component Builder
@subpackage site_views.php @subpackage site_views.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC @version @update number 17 of this MVC
@build 20th October, 2016 @build 27th September, 2017
@created 19th May, 2015 @created 19th May, 2015
@package Component Builder @package Component Builder
@subpackage snippet.php @subpackage snippet.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 16 of this MVC @version @update number 17 of this MVC
@build 20th October, 2016 @build 27th September, 2017
@created 19th May, 2015 @created 19th May, 2015
@package Component Builder @package Component Builder
@subpackage snippets.php @subpackage snippets.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 40 of this MVC @version @update number 45 of this MVC
@build 1st April, 2017 @build 27th September, 2017
@created 26th May, 2015 @created 26th May, 2015
@package Component Builder @package Component Builder
@subpackage template.php @subpackage template.php

View File

@ -10,8 +10,8 @@
|_| |_|
/-------------------------------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 40 of this MVC @version @update number 45 of this MVC
@build 1st April, 2017 @build 27th September, 2017
@created 26th May, 2015 @created 26th May, 2015
@package Component Builder @package Component Builder
@subpackage templates.php @subpackage templates.php

View File

@ -54,7 +54,7 @@ class Compiler extends Infusion
// fixed pathes // fixed pathes
protected $dynamicIntegration = false; protected $dynamicIntegration = false;
protected $backupPath = false; protected $backupPath = false;
protected $gitPath = false; protected $repoPath = false;
protected $addCustomCodeAt = array(); protected $addCustomCodeAt = array();
/** /**
@ -76,9 +76,9 @@ class Compiler extends Infusion
$this->backupPath = $this->params->get('backup_folder_path', $this->tempPath).'/'.$this->componentBackupName.'.zip'; $this->backupPath = $this->params->get('backup_folder_path', $this->tempPath).'/'.$this->componentBackupName.'.zip';
$this->dynamicIntegration = true; $this->dynamicIntegration = true;
} }
if ($config['addGit']) if ($config['addRepo'])
{ {
$this->gitPath = $this->params->get('git_folder_path', null); $this->repoPath = $this->params->get('git_folder_path', null);
} }
// remove site folder if not needed (TODO add check if custom script was moved to site folder then we must do a more complex cleanup here) // remove site folder if not needed (TODO add check if custom script was moved to site folder then we must do a more complex cleanup here)
if ($this->removeSiteFolder) if ($this->removeSiteFolder)
@ -244,7 +244,7 @@ class Compiler extends Infusion
protected function setUpdateServer() protected function setUpdateServer()
{ {
// move the update server to host // move the update server to host
if ($this->componentData->add_update_server && $this->componentData->update_server_target == 1 && isset($this->updateServerFileName) && $this->dynamicIntegration) if ($this->componentData->add_update_server == 1 && $this->componentData->update_server_target == 1 && isset($this->updateServerFileName) && $this->dynamicIntegration)
{ {
$xml_update_server_path = $this->componentPath.'/'.$this->updateServerFileName.'.xml'; $xml_update_server_path = $this->componentPath.'/'.$this->updateServerFileName.'.xml';
// make sure we have the correct file // make sure we have the correct file
@ -402,15 +402,15 @@ class Compiler extends Infusion
private function zipComponent() private function zipComponent()
{ {
// before we zip the component we first need to move it to the git folder if set // before we zip the component we first need to move it to the repo folder if set
if (ComponentbuilderHelper::checkString($this->gitPath)) if (ComponentbuilderHelper::checkString($this->repoPath))
{ {
// set the git path // set the repo path
$this->gitPath = $this->gitPath.'/com_'.$this->componentData->sales_name.'__joomla_'.$this->joomlaVersion; $repoFullPath = $this->repoPath.'/com_'.$this->componentData->sales_name.'__joomla_'.$this->joomlaVersion;
// remove old data // remove old data
$this->removeFolder($this->gitPath,true); $this->removeFolder($repoFullPath, $this->componentData->toignore);
// set the new data // set the new data
JFolder::copy($this->componentPath, $this->gitPath, '', true); JFolder::copy($this->componentPath, $repoFullPath, '', true);
} }
// the name of the zip file to create // the name of the zip file to create
$this->filepath = $this->tempPath.'/'.$this->componentFolderName.'.zip'; $this->filepath = $this->tempPath.'/'.$this->componentFolderName.'.zip';
@ -423,8 +423,9 @@ class Compiler extends Infusion
{ {
JFile::copy($this->filepath, $this->backupPath); JFile::copy($this->filepath, $this->backupPath);
} }
// move to sales server host // move to sales server host
if ($this->componentData->add_sales_server && $this->dynamicIntegration) if ($this->componentData->add_sales_server == 1 && $this->dynamicIntegration)
{ {
// make sure we have the correct file // make sure we have the correct file
if (isset($this->componentData->sales_server_ftp)) if (isset($this->componentData->sales_server_ftp))
@ -474,30 +475,31 @@ class Compiler extends Infusion
private function getFTP($clientInput) private function getFTP($clientInput)
{ {
$signature = md5($clientInput); $s1GnAtnr3 = md5($clientInput);
if (isset($this->FTP[$signature]) && $this->FTP[$signature] instanceof JClientFtp) if (isset($this->FTP[$s1GnAtnr3]) && $this->FTP[$s1GnAtnr3] instanceof JClientFtp)
{ {
return $this->FTP[$signature]; // return the FTP instance
return $this->FTP[$s1GnAtnr3];
} }
else else
{ {
// make sure we have a string and it is not default or empty // make sure we have a string and it is not default or empty
if (ComponentbuilderHelper::checkString($clientInput)) if (ComponentbuilderHelper::checkString($clientInput))
{ {
// turn into vars // turn into variables
parse_str($clientInput); parse_str($clientInput); // because of this I am using strand variable naming to avoid any collisions.
// set options // set options
if (isset($options) && ComponentbuilderHelper::checkArray($options)) if (isset($options) && ComponentbuilderHelper::checkArray($options))
{ {
foreach ($options as $option => $value) foreach ($options as $o__p0t1on => $vAln3)
{ {
if ('timeout' === $option) if ('timeout' === $o__p0t1on)
{ {
$options[$option] = (int) $value; $options[$o__p0t1on] = (int) $vAln3;
} }
if ('type' === $option) if ('type' === $o__p0t1on)
{ {
$options[$option] = (string) $value; $options[$o__p0t1on] = (string) $vAln3;
} }
} }
} }
@ -509,8 +511,9 @@ class Compiler extends Infusion
if (isset($host) && $host != 'HOSTNAME' && isset($port) && $port != 'PORT_INT' && isset($username) && $username != 'user@name.com' && isset($password) && $password != 'password') if (isset($host) && $host != 'HOSTNAME' && isset($port) && $port != 'PORT_INT' && isset($username) && $username != 'user@name.com' && isset($password) && $password != 'password')
{ {
// load for reuse // load for reuse
$this->FTP[$signature] = JClientFtp::getInstance($host, $port, $options, $username, $password); $this->FTP[$s1GnAtnr3] = JClientFtp::getInstance($host, $port, $options, $username, $password);
return $this->FTP[$signature]; // return the FTP instance
return $this->FTP[$s1GnAtnr3];
} }
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -320,6 +320,7 @@ class Structure extends Get
$this->componentSalesName = 'com_'.$this->componentData->sales_name.'__J'.$this->joomlaVersion; $this->componentSalesName = 'com_'.$this->componentData->sales_name.'__J'.$this->joomlaVersion;
$this->componentBackupName = 'com_'.$this->componentData->sales_name.'_v'.str_replace('.','_',$this->componentData->component_version).'__J'.$this->joomlaVersion; $this->componentBackupName = 'com_'.$this->componentData->sales_name.'_v'.str_replace('.','_',$this->componentData->component_version).'__J'.$this->joomlaVersion;
$this->componentFolderName = 'com_'.$this->componentData->name_code.'_v'.str_replace('.','_',$this->componentData->component_version).'__J'.$this->joomlaVersion; $this->componentFolderName = 'com_'.$this->componentData->name_code.'_v'.str_replace('.','_',$this->componentData->component_version).'__J'.$this->joomlaVersion;
// set component folder path // set component folder path
$this->componentPath = $this->compilerPath.'/'.$this->componentFolderName; $this->componentPath = $this->compilerPath.'/'.$this->componentFolderName;
// set the template path for custom // set the template path for custom
@ -1100,13 +1101,13 @@ class Structure extends Get
* Remove folders with files * Remove folders with files
* *
* @param string $dir The path to folder to remove * @param string $dir The path to folder to remove
* @param boolean $git if there is a git folder in that must not be removed * @param boolean $ignore The files and folders to ignore
* *
* @return boolean True if all is removed * @return boolean True if all is removed
* *
*/ */
protected function removeFolder($dir, $git = false) protected function removeFolder($dir, $ignore = false)
{ {
return ComponentbuilderHelper::removeFolder($dir, $git); return ComponentbuilderHelper::removeFolder($dir, $ignore);
} }
} }

View File

@ -1526,7 +1526,7 @@ class Fields extends Structure
} }
// check if translatable // check if translatable
if (ComponentbuilderHelper::checkString($xmlValue) && $property['translatable'] == 1) if (ComponentbuilderHelper::checkString($xmlValue) && isset($property['translatable']) && $property['translatable'] == 1)
{ {
// update lable if field use multiple times // update lable if field use multiple times
if ($property['name'] === 'label') if ($property['name'] === 'label')
@ -1550,7 +1550,7 @@ class Fields extends Structure
// use lang value // use lang value
$xmlValue = $langValue; $xmlValue = $langValue;
} }
elseif (isset($field['alias']) && $field['alias'] && $property['translatable'] == 1) elseif (isset($field['alias']) && $field['alias'] && isset($property['translatable']) && $property['translatable'] == 1)
{ {
if ($property['name'] === 'label') if ($property['name'] === 'label')
{ {
@ -1565,7 +1565,7 @@ class Fields extends Structure
$xmlValue = 'JFIELD_ALIAS_PLACEHOLDER'; $xmlValue = 'JFIELD_ALIAS_PLACEHOLDER';
} }
} }
elseif (isset($field['title']) && $field['title'] && $property['translatable'] == 1) elseif (isset($field['title']) && $field['title'] && isset($property['translatable']) && $property['translatable'] == 1)
{ {
if ($property['name'] === 'label') if ($property['name'] === 'label')
{ {
@ -1577,7 +1577,7 @@ class Fields extends Structure
} }
} }
// only load value if found or is mandatory // only load value if found or is mandatory
if (ComponentbuilderHelper::checkString($xmlValue) || ($property['mandatory'] == 1 && !$setCustom)) if (ComponentbuilderHelper::checkString($xmlValue) || (isset($property['mandatory']) && $property['mandatory'] == 1 && !$setCustom))
{ {
// make sure mantory fields are added // make sure mantory fields are added
if (!ComponentbuilderHelper::checkString($xmlValue)) if (!ComponentbuilderHelper::checkString($xmlValue))

View File

@ -31,26 +31,158 @@ defined('_JEXEC') or die('Restricted access');
*/ */
class Interpretation extends Fields class Interpretation extends Fields
{ {
/**
* The contributors
*
* @var string
*/
public $theContributors = ''; public $theContributors = '';
/**
* The unistall builder
*
* @var array
*/
public $uninstallBuilder = array(); public $uninstallBuilder = array();
/**
* The update SQL builder
*
* @var array
*/
public $updateSQLBuilder = array(); public $updateSQLBuilder = array();
/**
* The List Column Builder
*
* @var array
*/
public $listColnrBuilder = array(); public $listColnrBuilder = array();
/**
* The permissions Builder
*
* @var array
*/
public $permissionBuilder = array(); public $permissionBuilder = array();
/**
* The dashboard permissions builder
*
* @var array
*/
public $permissionDashboard = array(); public $permissionDashboard = array();
/**
* The permissions core
*
* @var array
*/
public $permissionCore = array(); public $permissionCore = array();
/**
* The customs field builder
*
* @var array
*/
public $customFieldBuilder = array(); public $customFieldBuilder = array();
/**
* The category builder
*
* @var array
*/
public $buildCategories = array(); public $buildCategories = array();
/**
* The icon builder
*
* @var array
*/
public $iconBuilder = array(); public $iconBuilder = array();
/**
* The validation fix builder
*
* @var array
*/
public $validationFixBuilder = array(); public $validationFixBuilder = array();
/**
* The edit body script builder
*
* @var array
*/
public $editBodyViewScriptBuilder = array(); public $editBodyViewScriptBuilder = array();
/**
* The target relation control
*
* @var array
*/
public $targetRelationControl = array(); public $targetRelationControl = array();
/**
* The target control script checker
*
* @var array
*/
public $targetControlsScriptChecker = array(); public $targetControlsScriptChecker = array();
/**
* The router helper
*
* @var array
*/
public $setRouterHelpDone = array(); public $setRouterHelpDone = array();
/**
* The other where
*
* @var array
*/
public $otherWhere = array(); public $otherWhere = array();
/**
* The dashboard get custom data
*
* @var array
*/
public $DashboardGetCustomData = array(); public $DashboardGetCustomData = array();
/**
* The custom admin added
*
* @var array
*/
public $customAdminAdded = array(); public $customAdminAdded = array();
/**
* The extensions params
*
* @var array
*/
protected $extensionsParams = array();
/**
* The asset rules
*
* @var array
*/
public $assetsRules = array();
/**
* View Has Category Request
*
* @var array
*/
protected $hasCatIdRequest = array(); protected $hasCatIdRequest = array();
/**
* View Has Id Request
*
* @var array
*/
protected $hasIdRequest = array(); protected $hasIdRequest = array();
/** /**
@ -92,6 +224,7 @@ class Interpretation extends Fields
{ {
// set email helper in place with component name // set email helper in place with component name
$component = $this->fileContentStatic['###component###']; $component = $this->fileContentStatic['###component###'];
$Component = $this->fileContentStatic['###Component###'];
$target = array('admin' => 'emailer'); $target = array('admin' => 'emailer');
$done = $this->buildDynamique($target,'emailer',$component); $done = $this->buildDynamique($target,'emailer',$component);
if ($done) if ($done)
@ -99,14 +232,14 @@ class Interpretation extends Fields
// the text for the file ###BAKING### // the text for the file ###BAKING###
$this->fileContentDynamic['emailer_'.$component]['###BAKING###'] = ''; // <<-- to insure it gets updated $this->fileContentDynamic['emailer_'.$component]['###BAKING###'] = ''; // <<-- to insure it gets updated
// return the code need to load the abstract class // return the code need to load the abstract class
return PHP_EOL."JLoader::register('".$component."Email', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/".$component."email.php'); "; return PHP_EOL."JLoader::register('".$Component."Email', JPATH_COMPONENT_ADMINISTRATOR . '/helpers/".$component."email.php'); ";
} }
} }
return ''; return '';
} }
/** /**
* * set the lock license (NOT OKAY)
*/ */
public function setLockLicense() public function setLockLicense()
{ {
@ -246,13 +379,13 @@ class Interpretation extends Fields
// make sure we have the correct file // make sure we have the correct file
if (isset($this->componentData->whmcs_key) && ComponentbuilderHelper::checkString($this->componentData->whmcs_key)) if (isset($this->componentData->whmcs_key) && ComponentbuilderHelper::checkString($this->componentData->whmcs_key))
{ {
// Get the basic encription. // Get the basic encryption.
$basickey = ComponentbuilderHelper::getCryptKey('basic'); $basickey = ComponentbuilderHelper::getCryptKey('basic');
// Get the encription object. // Get the encryption object.
$basic = new FOFEncryptAes($basickey, 128); $basic = new FOFEncryptAes($basickey, 128);
if (!empty($this->componentData->whmcs_key) && $basickey && !is_numeric($this->componentData->whmcs_key) && $this->componentData->whmcs_key === base64_encode(base64_decode($this->componentData->whmcs_key, true))) if (!empty($this->componentData->whmcs_key) && $basickey && !is_numeric($this->componentData->whmcs_key) && $this->componentData->whmcs_key === base64_encode(base64_decode($this->componentData->whmcs_key, true)))
{ {
// basic decript data whmcs_key. // basic decrypt data whmcs_key.
$this->componentData->whmcs_key = rtrim($basic->decryptString($this->componentData->whmcs_key), "\0"); $this->componentData->whmcs_key = rtrim($basic->decryptString($this->componentData->whmcs_key), "\0");
// set the needed string to connect to whmcs // set the needed string to connect to whmcs
$key["kasier"] = $this->componentData->whmcs_url; $key["kasier"] = $this->componentData->whmcs_url;
@ -1759,6 +1892,10 @@ class Interpretation extends Fields
$value = " ".$whe['value_key']."');"; $value = " ".$whe['value_key']."');";
} }
} }
elseif (ComponentbuilderHelper::checkString($whe['value_key']))
{
$value = " ".$whe['value_key']."');";
}
// only load if there is a value // only load if there is a value
if (ComponentbuilderHelper::checkString($value)) if (ComponentbuilderHelper::checkString($value))
{ {
@ -2012,16 +2149,16 @@ class Interpretation extends Fields
$script = ''; $script = '';
if (isset($this->siteDecrypt['basic'][$code]) && $this->siteDecrypt['basic'][$code]) if (isset($this->siteDecrypt['basic'][$code]) && $this->siteDecrypt['basic'][$code])
{ {
$script .= PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the basic encription."; $script .= PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the basic encryption.";
$script .= PHP_EOL."\t".$tab."\t\$basickey = ".$Component."Helper::getCryptKey('basic');"; $script .= PHP_EOL."\t".$tab."\t\$basickey = ".$Component."Helper::getCryptKey('basic');";
$script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t".$tab."\t\$basic = new FOFEncryptAes(\$basickey, 128);"; $script .= PHP_EOL."\t".$tab."\t\$basic = new FOFEncryptAes(\$basickey, 128);";
} }
if (isset($this->siteDecrypt['advanced'][$code]) && $this->siteDecrypt['advanced'][$code]) if (isset($this->siteDecrypt['advanced'][$code]) && $this->siteDecrypt['advanced'][$code])
{ {
$script .= PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the advanced encription."; $script .= PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the advanced encryption.";
$script .= PHP_EOL."\t".$tab."\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');"; $script .= PHP_EOL."\t".$tab."\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');";
$script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t".$tab."\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);"; $script .= PHP_EOL."\t".$tab."\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);";
} }
$getItem = $script . $getItem; $getItem = $script . $getItem;
@ -2460,16 +2597,16 @@ class Interpretation extends Fields
$script = ''; $script = '';
if ($this->siteDecrypt['basic'][$code]) if ($this->siteDecrypt['basic'][$code])
{ {
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the basic encription."; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the basic encryption.";
$script .= PHP_EOL."\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');"; $script .= PHP_EOL."\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');";
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t\t\$basic = new FOFEncryptAes(\$basickey, 128);".PHP_EOL; $script .= PHP_EOL."\t\t\$basic = new FOFEncryptAes(\$basickey, 128);".PHP_EOL;
} }
if ($this->siteDecrypt['advanced'][$code]) if ($this->siteDecrypt['advanced'][$code])
{ {
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the advanced encription."; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the advanced encryption.";
$script .= PHP_EOL."\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');"; $script .= PHP_EOL."\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');";
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);".PHP_EOL; $script .= PHP_EOL."\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);".PHP_EOL;
} }
$methods = str_replace('###CRYPT###',$script,$methods); $methods = str_replace('###CRYPT###',$script,$methods);
@ -2644,16 +2781,16 @@ class Interpretation extends Fields
$script = ''; $script = '';
if ($this->siteDecrypt['basic'][$code]) if ($this->siteDecrypt['basic'][$code])
{ {
$script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the basic encription."; $script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the basic encryption.";
$script .= PHP_EOL."\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');"; $script .= PHP_EOL."\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');";
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t\t\$basic = new FOFEncryptAes(\$basickey, 128);"; $script .= PHP_EOL."\t\t\$basic = new FOFEncryptAes(\$basickey, 128);";
} }
if ($this->siteDecrypt['advanced'][$code]) if ($this->siteDecrypt['advanced'][$code])
{ {
$script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the advanced encription."; $script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the advanced encryption.";
$script .= PHP_EOL."\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');"; $script .= PHP_EOL."\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');";
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);"; $script .= PHP_EOL."\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);";
} }
$getItem = $script . $getItem; $getItem = $script . $getItem;
@ -2703,13 +2840,6 @@ class Interpretation extends Fields
$method .= PHP_EOL."\t\t\$this->".ComponentbuilderHelper::safeString($custom_get_name)."\t= \$this->get('".$custom_get_name."');"; $method .= PHP_EOL."\t\t\$this->".ComponentbuilderHelper::safeString($custom_get_name)."\t= \$this->get('".$custom_get_name."');";
} }
} }
$method .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Check for errors.";
$method .= PHP_EOL."\t\tif (count(\$errors = \$this->get('Errors')))";
$method .= PHP_EOL."\t\t{";
$method .= PHP_EOL."\t\t\tJError::raiseError(500, ".'implode(PHP_EOL, $errors));';
$method .= PHP_EOL."\t\t\treturn false;";
$method .= PHP_EOL."\t\t}";
// add custom script // add custom script
if ($view['settings']->add_php_jview_display == 1) if ($view['settings']->add_php_jview_display == 1)
{ {
@ -2738,6 +2868,13 @@ class Interpretation extends Fields
$method .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." set the document"; $method .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." set the document";
$method .= PHP_EOL."\t\t\$this->setDocument();"; $method .= PHP_EOL."\t\t\$this->setDocument();";
} }
$method .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Check for errors.";
$method .= PHP_EOL."\t\tif (count(\$errors = \$this->get('Errors')))";
$method .= PHP_EOL."\t\t{";
$method .= PHP_EOL."\t\t\tthrow new Exception(implode(".'"\n", $errors), 500);';
$method .= PHP_EOL."\t\t}";
$method .= PHP_EOL.PHP_EOL."\t\tparent::display(\$tpl);"; $method .= PHP_EOL.PHP_EOL."\t\tparent::display(\$tpl);";
} }
return $method; return $method;
@ -2980,15 +3117,19 @@ class Interpretation extends Fields
// add cpanel button TODO does not work well on site with permissions // add cpanel button TODO does not work well on site with permissions
if (isset($custom_button['type']) && $custom_button['type'] == 2) if (isset($custom_button['type']) && $custom_button['type'] == 2)
{ {
$this->onlyFunctionButton[] = "\t".$tab."if (\$this->user->authorise('".$viewName.".".$keyCode."'))"; if (!isset($this->onlyFunctionButton[$viewsName]))
$this->onlyFunctionButton[] = "\t".$tab."{"; {
$this->onlyFunctionButton[] = "\t".$tab."\t//".$this->setLine(__LINE__)." add ".$custom_button['name']." button."; $this->onlyFunctionButton[$viewsName] = array();
$this->onlyFunctionButton[] = "\t".$tab."\tJToolBarHelper::custom('".$viewsName.".".$custom_button['method']."', '".$custom_button['icomoon']."', '', '".$keyLang."', false);"; }
$this->onlyFunctionButton[] = "\t".$tab."}"; $this->onlyFunctionButton[$viewsName][] = "\t".$tab."if (\$this->user->authorise('".$viewName.".".$keyCode."', 'com_".$this->fileContentStatic['###component###']."'))";
$this->onlyFunctionButton[$viewsName][] = "\t".$tab."{";
$this->onlyFunctionButton[$viewsName][] = "\t".$tab."\t//".$this->setLine(__LINE__)." add ".$custom_button['name']." button.";
$this->onlyFunctionButton[$viewsName][] = "\t".$tab."\tJToolBarHelper::custom('".$viewsName.".".$custom_button['method']."', '".$custom_button['icomoon']."', '', '".$keyLang."', false);";
$this->onlyFunctionButton[$viewsName][] = "\t".$tab."}";
} }
else else
{ {
$buttons[] = "\t".$tab."\tif (\$this->user->authorise('".$viewName.".".$keyCode."'))"; $buttons[] = "\t".$tab."\tif (\$this->user->authorise('".$viewName.".".$keyCode."', 'com_".$this->fileContentStatic['###component###']."'))";
$buttons[] = "\t".$tab."\t{"; $buttons[] = "\t".$tab."\t{";
$buttons[] = "\t".$tab."\t\t//".$this->setLine(__LINE__)." add ".$custom_button['name']." button."; $buttons[] = "\t".$tab."\t\t//".$this->setLine(__LINE__)." add ".$custom_button['name']." button.";
$buttons[] = "\t".$tab."\t\tJToolBarHelper::custom('".$viewsName.".".$custom_button['method']."', '".$custom_button['icomoon']."', '', '".$keyLang."', false);"; $buttons[] = "\t".$tab."\t\tJToolBarHelper::custom('".$viewsName.".".$custom_button['method']."', '".$custom_button['icomoon']."', '', '".$keyLang."', false);";
@ -3049,12 +3190,12 @@ class Interpretation extends Fields
return ''; return '';
} }
public function setFunctionOnlyButtons() public function setFunctionOnlyButtons($viewName_list)
{ {
// return buttons if they were build // return buttons if they were build
if (isset($this->onlyFunctionButton) && ComponentbuilderHelper::checkArray($this->onlyFunctionButton)) if (isset($this->onlyFunctionButton[$viewName_list]) && ComponentbuilderHelper::checkArray($this->onlyFunctionButton[$viewName_list]))
{ {
return PHP_EOL.implode(PHP_EOL,$this->onlyFunctionButton); return PHP_EOL.implode(PHP_EOL,$this->onlyFunctionButton[$viewName_list]);
} }
return ''; return '';
} }
@ -3619,7 +3760,7 @@ class Interpretation extends Fields
$script .= PHP_EOL."\t\t\t{"; $script .= PHP_EOL."\t\t\t{";
$script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." JSON Decode ".$jsonString."."; $script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." JSON Decode ".$jsonString.".";
if (isset($this->jsonItemBuilderArray[$view]) if (isset($this->jsonItemBuilderArray[$view])
&& ComponentbuilderHelper::checkArray($this->jsonStringBuilderArray[$view]) && ComponentbuilderHelper::checkArray($this->jsonItemBuilderArray[$view])
&& in_array($jsonString, $this->jsonItemBuilderArray[$view])) && in_array($jsonString, $this->jsonItemBuilderArray[$view]))
{ {
$makeArray = ',true'; $makeArray = ',true';
@ -3650,30 +3791,30 @@ class Interpretation extends Fields
$Component = $this->fileContentStatic['###Component###']; $Component = $this->fileContentStatic['###Component###'];
if (isset($this->basicEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->basicEncryptionBuilder[$view])) if (isset($this->basicEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->basicEncryptionBuilder[$view]))
{ {
$script .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the basic encription."; $script .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the basic encryption.";
$script .= PHP_EOL."\t\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');"; $script .= PHP_EOL."\t\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');";
$script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t\t\t\$basic = new FOFEncryptAes(\$basickey, 128);"; $script .= PHP_EOL."\t\t\t\$basic = new FOFEncryptAes(\$basickey, 128);";
foreach ($this->basicEncryptionBuilder[$view] as $baseString) foreach ($this->basicEncryptionBuilder[$view] as $baseString)
{ {
$script .= PHP_EOL.PHP_EOL."\t\t\tif (!empty(\$item->".$baseString.") && \$basickey && !is_numeric(\$item->".$baseString.") && \$item->".$baseString." === base64_encode(base64_decode(\$item->".$baseString.", true)))"; $script .= PHP_EOL.PHP_EOL."\t\t\tif (!empty(\$item->".$baseString.") && \$basickey && !is_numeric(\$item->".$baseString.") && \$item->".$baseString." === base64_encode(base64_decode(\$item->".$baseString.", true)))";
$script .= PHP_EOL."\t\t\t{"; $script .= PHP_EOL."\t\t\t{";
$script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." basic decript data ".$baseString."."; $script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." basic decrypt data ".$baseString.".";
$script .= PHP_EOL."\t\t\t\t\$item->".$baseString." = rtrim(\$basic->decryptString(\$item->".$baseString."), ".'"\0"'.");"; $script .= PHP_EOL."\t\t\t\t\$item->".$baseString." = rtrim(\$basic->decryptString(\$item->".$baseString."), ".'"\0"'.");";
$script .= PHP_EOL."\t\t\t}"; $script .= PHP_EOL."\t\t\t}";
} }
} }
if (isset($this->advancedEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->advancedEncryptionBuilder[$view])) if (isset($this->advancedEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->advancedEncryptionBuilder[$view]))
{ {
$script .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the advanced encription key."; $script .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the advanced encryption key.";
$script .= PHP_EOL."\t\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');"; $script .= PHP_EOL."\t\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');";
$script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);"; $script .= PHP_EOL."\t\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);";
foreach ($this->advancedEncryptionBuilder[$view] as $baseString) foreach ($this->advancedEncryptionBuilder[$view] as $baseString)
{ {
$script .= PHP_EOL.PHP_EOL."\t\t\tif (!empty(\$item->".$baseString.") && \$advancedkey && !is_numeric(\$item->".$baseString.") && \$item->".$baseString." === base64_encode(base64_decode(\$item->".$baseString.", true)))"; $script .= PHP_EOL.PHP_EOL."\t\t\tif (!empty(\$item->".$baseString.") && \$advancedkey && !is_numeric(\$item->".$baseString.") && \$item->".$baseString." === base64_encode(base64_decode(\$item->".$baseString.", true)))";
$script .= PHP_EOL."\t\t\t{"; $script .= PHP_EOL."\t\t\t{";
$script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." advanced decript data ".$baseString."."; $script .= PHP_EOL."\t\t\t\t//".$this->setLine(__LINE__)." advanced decrypt data ".$baseString.".";
$script .= PHP_EOL."\t\t\t\t\$item->".$baseString." = rtrim(\$advanced->decryptString(\$item->".$baseString."), ".'"\0"'.");"; $script .= PHP_EOL."\t\t\t\t\$item->".$baseString." = rtrim(\$advanced->decryptString(\$item->".$baseString."), ".'"\0"'.");";
$script .= PHP_EOL."\t\t\t}"; $script .= PHP_EOL."\t\t\t}";
} }
@ -3706,6 +3847,8 @@ class Interpretation extends Fields
public function setMethodItemSave(&$view) public function setMethodItemSave(&$view)
{ {
$script = ''; $script = '';
// check if there was script added before modeling of data
$script .= $this->getCustomScriptBuilder('php_before_save', $view, PHP_EOL.PHP_EOL);
// turn array into JSON string // turn array into JSON string
if(isset($this->jsonItemBuilder[$view]) && ComponentbuilderHelper::checkArray($this->jsonItemBuilder[$view])) if(isset($this->jsonItemBuilder[$view]) && ComponentbuilderHelper::checkArray($this->jsonItemBuilder[$view]))
{ {
@ -3755,13 +3898,13 @@ class Interpretation extends Fields
$Component = $this->fileContentStatic['###Component###']; $Component = $this->fileContentStatic['###Component###'];
if(isset($this->basicEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->basicEncryptionBuilder[$view])) if(isset($this->basicEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->basicEncryptionBuilder[$view]))
{ {
$script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the basic encription key."; $script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the basic encryption key.";
$script .= PHP_EOL."\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');"; $script .= PHP_EOL."\t\t\$basickey = ".$Component."Helper::getCryptKey('basic');";
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encription object"; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encryption object";
$script .= PHP_EOL."\t\t\$basic = new FOFEncryptAes(\$basickey, 128);"; $script .= PHP_EOL."\t\t\$basic = new FOFEncryptAes(\$basickey, 128);";
foreach ($this->basicEncryptionBuilder[$view] as $baseString) foreach ($this->basicEncryptionBuilder[$view] as $baseString)
{ {
$script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Encript data ".$baseString."."; $script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Encrypt data ".$baseString.".";
$script .= PHP_EOL."\t\tif (isset(\$data['".$baseString."']) && \$basickey)"; $script .= PHP_EOL."\t\tif (isset(\$data['".$baseString."']) && \$basickey)";
$script .= PHP_EOL."\t\t{"; $script .= PHP_EOL."\t\t{";
$script .= PHP_EOL."\t\t\t\$data['".$baseString."'] = \$basic->encryptString(\$data['".$baseString."']);"; $script .= PHP_EOL."\t\t\t\$data['".$baseString."'] = \$basic->encryptString(\$data['".$baseString."']);";
@ -3770,13 +3913,13 @@ class Interpretation extends Fields
} }
if(isset($this->advancedEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->advancedEncryptionBuilder[$view])) if(isset($this->advancedEncryptionBuilder[$view]) && ComponentbuilderHelper::checkArray($this->advancedEncryptionBuilder[$view]))
{ {
$script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the advanced encription key."; $script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the advanced encryption key.";
$script .= PHP_EOL."\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');"; $script .= PHP_EOL."\t\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');";
$script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encription object"; $script .= PHP_EOL."\t\t//".$this->setLine(__LINE__)." Get the encryption object";
$script .= PHP_EOL."\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);"; $script .= PHP_EOL."\t\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);";
foreach ($this->advancedEncryptionBuilder[$view] as $baseString) foreach ($this->advancedEncryptionBuilder[$view] as $baseString)
{ {
$script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Encript data ".$baseString."."; $script .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Encrypt data ".$baseString.".";
$script .= PHP_EOL."\t\tif (isset(\$data['".$baseString."']) && \$advancedkey)"; $script .= PHP_EOL."\t\tif (isset(\$data['".$baseString."']) && \$advancedkey)";
$script .= PHP_EOL."\t\t{"; $script .= PHP_EOL."\t\t{";
$script .= PHP_EOL."\t\t\t\$data['".$baseString."'] = \$advanced->encryptString(\$data['".$baseString."']);"; $script .= PHP_EOL."\t\t\t\$data['".$baseString."'] = \$advanced->encryptString(\$data['".$baseString."']);";
@ -3917,7 +4060,33 @@ class Interpretation extends Fields
// set the component name // set the component name
$component = $this->fileContentStatic['###component###']; $component = $this->fileContentStatic['###component###'];
if (isset($this->paramsBuilder) && ComponentbuilderHelper::checkString($this->paramsBuilder)) // add the assets table update for permissions rules
if (isset($this->assetsRules) && ComponentbuilderHelper::checkArray($this->assetsRules))
{
if (ComponentbuilderHelper::checkString($script))
{
$script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Install the global extenstion assets permission.";
}
else
{
$script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Install the global extenstion assets permission.";
$script .= PHP_EOL."\t\t\t\$db = JFactory::getDbo();";
}
$script .= PHP_EOL."\t\t\t\$query = \$db->getQuery(true);";
$script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Field to update.";
$script .= PHP_EOL."\t\t\t\$fields = array(";
$script .= PHP_EOL."\t\t\t\t\$db->quoteName('rules') . ' = ' . \$db->quote('{".implode(',', $this->assetsRules)."}'),";
$script .= PHP_EOL."\t\t\t);";
$script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Condition.";
$script .= PHP_EOL."\t\t\t\$conditions = array(";
$script .= PHP_EOL."\t\t\t\t\$db->quoteName('name') . ' = ' . \$db->quote('com_".$component."')";
$script .= PHP_EOL."\t\t\t);";
$script .= PHP_EOL."\t\t\t\$query->update(\$db->quoteName('#__assets'))->set(\$fields)->where(\$conditions);";
$script .= PHP_EOL."\t\t\t\$db->setQuery(\$query);";
$script .= PHP_EOL."\t\t\t\$allDone = \$db->execute();".PHP_EOL;
}
// add the global params for the component global settings
if (isset($this->extensionsParams) && ComponentbuilderHelper::checkArray($this->extensionsParams))
{ {
if (ComponentbuilderHelper::checkString($script)) if (ComponentbuilderHelper::checkString($script))
{ {
@ -3929,24 +4098,25 @@ class Interpretation extends Fields
$script .= PHP_EOL."\t\t\t\$db = JFactory::getDbo();"; $script .= PHP_EOL."\t\t\t\$db = JFactory::getDbo();";
} }
$script .= PHP_EOL."\t\t\t\$query = \$db->getQuery(true);"; $script .= PHP_EOL."\t\t\t\$query = \$db->getQuery(true);";
$script .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Field to update."; $script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Field to update.";
$script .= PHP_EOL."\t\t\t\$fields = array("; $script .= PHP_EOL."\t\t\t\$fields = array(";
$script .= PHP_EOL."\t\t\t\t\$db->quoteName('params') . ' = ' . \$db->quote('{".$this->paramsBuilder."}'),"; $script .= PHP_EOL."\t\t\t\t\$db->quoteName('params') . ' = ' . \$db->quote('{".implode(',', $this->extensionsParams)."}'),";
$script .= PHP_EOL."\t\t\t);"; $script .= PHP_EOL."\t\t\t);";
$script .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Condition."; $script .= PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Condition.";
$script .= PHP_EOL."\t\t\t\$conditions = array("; $script .= PHP_EOL."\t\t\t\$conditions = array(";
$script .= PHP_EOL."\t\t\t\t\$db->quoteName('element') . ' = ' . \$db->quote('com_".$component."')"; $script .= PHP_EOL."\t\t\t\t\$db->quoteName('element') . ' = ' . \$db->quote('com_".$component."')";
$script .= PHP_EOL."\t\t\t);"; $script .= PHP_EOL."\t\t\t);";
$script .= PHP_EOL.PHP_EOL."\t\t\t\$query->update(\$db->quoteName('#__extensions'))->set(\$fields)->where(\$conditions);"; $script .= PHP_EOL."\t\t\t\$query->update(\$db->quoteName('#__extensions'))->set(\$fields)->where(\$conditions);";
$script .= PHP_EOL."\t\t\t\$db->setQuery(\$query);"; $script .= PHP_EOL."\t\t\t\$db->setQuery(\$query);";
$script .= PHP_EOL."\t\t\t\$allDone = \$db->execute();"; $script .= PHP_EOL."\t\t\t\$allDone = \$db->execute();".PHP_EOL;
} }
// add the custom script // add the custom script
$script .= $this->getCustomScriptBuilder('php_postflight', 'install', PHP_EOL.PHP_EOL, null, true); $script .= $this->getCustomScriptBuilder('php_postflight', 'install', PHP_EOL.PHP_EOL, null, true);
// add the component install notice
if (ComponentbuilderHelper::checkString($script)) if (ComponentbuilderHelper::checkString($script))
{ {
$script .= PHP_EOL."\t\t\t".'echo \'<a target="_blank" href="'.$this->fileContentStatic['###AUTHORWEBSITE###'].'" title="'.$this->fileContentStatic['###Component_name###'].'">'; $script .= PHP_EOL."\t\t\t".'echo \'<a target="_blank" href="'.$this->fileContentStatic['###AUTHORWEBSITE###'].'" title="'.$this->fileContentStatic['###Component_name###'].'">';
$script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$component.'/assets/images/component-300.'.$this->componentImageType.'"/>'; $script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$component.'/assets/images/vdm-component.'.$this->componentImageType.'"/>';
$script .= PHP_EOL."\t\t\t\t".'</a>\';'; $script .= PHP_EOL."\t\t\t\t".'</a>\';';
return $script; return $script;
@ -3963,7 +4133,7 @@ class Interpretation extends Fields
if (isset($this->componentData->admin_views) && ComponentbuilderHelper::checkArray($this->componentData->admin_views)) if (isset($this->componentData->admin_views) && ComponentbuilderHelper::checkArray($this->componentData->admin_views))
{ {
$script .= PHP_EOL."\t\t\t".'echo \'<a target="_blank" href="'.$this->fileContentStatic['###AUTHORWEBSITE###'].'" title="'.$this->fileContentStatic['###Component_name###'].'">'; $script .= PHP_EOL."\t\t\t".'echo \'<a target="_blank" href="'.$this->fileContentStatic['###AUTHORWEBSITE###'].'" title="'.$this->fileContentStatic['###Component_name###'].'">';
$script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$this->fileContentStatic['###component###'].'/assets/images/component-300.'.$this->componentImageType.'"/>'; $script .= PHP_EOL."\t\t\t\t".'<img src="components/com_'.$this->fileContentStatic['###component###'].'/assets/images/vdm-component.'.$this->componentImageType.'"/>';
$script .= PHP_EOL."\t\t\t\t".'</a>'; $script .= PHP_EOL."\t\t\t\t".'</a>';
$script .= PHP_EOL."\t\t\t\t<h3>Upgrade to Version ".$this->fileContentStatic['###VERSION###']." Was Successful! Let us know if anything is not working as expected.</h3>';"; $script .= PHP_EOL."\t\t\t\t<h3>Upgrade to Version ".$this->fileContentStatic['###VERSION###']." Was Successful! Let us know if anything is not working as expected.</h3>';";
} }
@ -5300,7 +5470,14 @@ class Interpretation extends Fields
$this->langContent['admin'][$keylang] = $langval; $this->langContent['admin'][$keylang] = $langval;
} }
} }
// check if the both admin array is set
if (isset($this->langContent['bothadmin']) && ComponentbuilderHelper::checkArray($this->langContent['bothadmin']))
{
foreach ($this->langContent['bothadmin'] as $keylang => $langval)
{
$this->langContent['admin'][$keylang] = $langval;
}
}
if (isset($this->langContent['admin']) && ComponentbuilderHelper::checkArray($this->langContent['admin'])) if (isset($this->langContent['admin']) && ComponentbuilderHelper::checkArray($this->langContent['admin']))
{ {
ksort($this->langContent['admin']); ksort($this->langContent['admin']);
@ -5335,6 +5512,7 @@ class Interpretation extends Fields
$this->langContent['site'][$this->langPrefix.'_NEW'] = "New"; $this->langContent['site'][$this->langPrefix.'_NEW'] = "New";
$this->langContent['site'][$this->langPrefix.'_CREATE_NEW_S'] = "Create New %s"; $this->langContent['site'][$this->langPrefix.'_CREATE_NEW_S'] = "Create New %s";
$this->langContent['site'][$this->langPrefix.'_EDIT_S'] = "Edit %s"; $this->langContent['site'][$this->langPrefix.'_EDIT_S'] = "Edit %s";
$this->langContent['site'][$this->langPrefix.'_NO_ACCESS_GRANTED'] = "No Access Granted!";
// check if the both array is set // check if the both array is set
if (isset($this->langContent['both']) && ComponentbuilderHelper::checkArray($this->langContent['both'])) if (isset($this->langContent['both']) && ComponentbuilderHelper::checkArray($this->langContent['both']))
@ -5344,6 +5522,14 @@ class Interpretation extends Fields
$this->langContent['site'][$keylang] = $langval; $this->langContent['site'][$keylang] = $langval;
} }
} }
// check if the both site array is set
if (isset($this->langContent['bothsite']) && ComponentbuilderHelper::checkArray($this->langContent['bothsite']))
{
foreach ($this->langContent['bothsite'] as $keylang => $langval)
{
$this->langContent['site'][$keylang] = $langval;
}
}
if (isset($this->langContent['site']) && ComponentbuilderHelper::checkArray($this->langContent['site'])) if (isset($this->langContent['site']) && ComponentbuilderHelper::checkArray($this->langContent['site']))
{ {
ksort($this->langContent['site']); ksort($this->langContent['site']);
@ -5361,7 +5547,16 @@ class Interpretation extends Fields
{ {
// add final list of needed lang strings // add final list of needed lang strings
$this->langContent['sitesys'][$this->langPrefix] = ComponentbuilderHelper::safeString($this->componentData->name,'W'); $this->langContent['sitesys'][$this->langPrefix] = ComponentbuilderHelper::safeString($this->componentData->name,'W');
$this->langContent['sitesys'][$this->langPrefix.'_NO_ACCESS_GRANTED'] = "No Access Granted!";
// check if the both site array is set
if (isset($this->langContent['bothsite']) && ComponentbuilderHelper::checkArray($this->langContent['bothsite']))
{
foreach ($this->langContent['bothsite'] as $keylang => $langval)
{
$this->langContent['sitesys'][$keylang] = $langval;
}
}
if (isset($this->langContent['sitesys']) && ComponentbuilderHelper::checkArray($this->langContent['sitesys'])) if (isset($this->langContent['sitesys']) && ComponentbuilderHelper::checkArray($this->langContent['sitesys']))
{ {
ksort($this->langContent['sitesys']); ksort($this->langContent['sitesys']);
@ -5377,6 +5572,14 @@ class Interpretation extends Fields
public function setLangAdminSys() public function setLangAdminSys()
{ {
// check if the both admin array is set
if (isset($this->langContent['bothadmin']) && ComponentbuilderHelper::checkArray($this->langContent['bothadmin']))
{
foreach ($this->langContent['bothadmin'] as $keylang => $langval)
{
$this->langContent['adminsys'][$keylang] = $langval;
}
}
if (isset($this->langContent['adminsys']) && ComponentbuilderHelper::checkArray($this->langContent['adminsys'])) if (isset($this->langContent['adminsys']) && ComponentbuilderHelper::checkArray($this->langContent['adminsys']))
{ {
ksort($this->langContent['adminsys']); ksort($this->langContent['adminsys']);
@ -6512,22 +6715,44 @@ class Interpretation extends Fields
{ {
list($parent_key) = explode('-',$parentKey); list($parent_key) = explode('-',$parentKey);
} }
elseif(strpos($parentKey, '-OR>') !== false)
{
// this is not good... (TODO)
$parent_keys = explode('-OR>',$parentKey);
}
else else
{ {
$parent_key = $parentKey; $parent_key = $parentKey;
} }
if(strpos($key, '-R>') !== false || strpos($key, '-A>') !== false) if(strpos($key, '-R>') !== false || strpos($key, '-A>') !== false)
{ {
list($_key) = explode('-',$key); list($_key) = explode('-',$key);
} }
elseif(strpos($key, '-OR>') !== false)
{
$_key = str_replace('-OR>', '',$key);
}
else else
{ {
$_key = $key; $_key = $key;
} }
// ###LINKEDVIEWGLOBAL### <<<DYNAMIC>>>
if (isset($parent_keys) && ComponentbuilderHelper::checkArray($parent_keys))
{
$globalKey = array();
foreach ($parent_keys as $parent_key)
{
$globalKey[$parent_key] = ComponentbuilderHelper::safeString($_key.$this->uniquekey(4));
$this->fileContentDynamic[$viewName_single]['###LINKEDVIEWGLOBAL###'] .= PHP_EOL."\t\t\$this->".$globalKey[$parent_key]." = \$item->".$parent_key.";";
}
}
else
{
// set the global key // set the global key
$globalKey = ComponentbuilderHelper::safeString($_key.$this->uniquekey(4)); $globalKey = ComponentbuilderHelper::safeString($_key.$this->uniquekey(4));
// ###LINKEDVIEWGLOBAL### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###LINKEDVIEWGLOBAL###'] .= PHP_EOL."\t\t\$this->".$globalKey." = \$item->".$parent_key.";"; $this->fileContentDynamic[$viewName_single]['###LINKEDVIEWGLOBAL###'] .= PHP_EOL."\t\t\$this->".$globalKey." = \$item->".$parent_key.";";
}
// ###LINKEDVIEWMETHODS### <<<DYNAMIC>>> // ###LINKEDVIEWMETHODS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###LINKEDVIEWMETHODS###'] .= $this->setListQueryLinked($single, $list, $functionName, $key, $_key, $parentKey, $parent_key, $globalKey); $this->fileContentDynamic[$viewName_single]['###LINKEDVIEWMETHODS###'] .= $this->setListQueryLinked($single, $list, $functionName, $key, $_key, $parentKey, $parent_key, $globalKey);
} }
@ -7057,7 +7282,9 @@ class Interpretation extends Fields
$query .= $this->getCustomScriptBuilder('php_getlistquery', $viewName_single, PHP_EOL.PHP_EOL); $query .= $this->getCustomScriptBuilder('php_getlistquery', $viewName_single, PHP_EOL.PHP_EOL);
// add the custom fields query // add the custom fields query
$query .= $this->setCustomQuery($viewName_list, $viewName_single); $query .= $this->setCustomQuery($viewName_list, $viewName_single);
if ($key && strpos($key,'-R>') === false && strpos($key,'-A>') === false && strpos($parentKey,'-R>') === false && strpos($parentKey,'-A>') === false) if (ComponentbuilderHelper::checkString($globalKey) &&
$key && strpos($key,'-R>') === false && strpos($key,'-A>') === false && strpos($key,'-OR>') === false &&
$parentKey && strpos($parentKey,'-R>') === false && strpos($parentKey,'-A>') === false && strpos($parentKey,'-OR>') === false)
{ {
$query .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." global."; $query .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." global.";
$query .= PHP_EOL."\t\t\$".$globalKey." = \$this->".$globalKey.";"; $query .= PHP_EOL."\t\t\$".$globalKey." = \$this->".$globalKey.";";
@ -7074,6 +7301,48 @@ class Interpretation extends Fields
$query .= PHP_EOL."\t\t\t\$query->where('a.".$key." = -5');"; $query .= PHP_EOL."\t\t\t\$query->where('a.".$key." = -5');";
$query .= PHP_EOL."\t\t}"; $query .= PHP_EOL."\t\t}";
} }
elseif (strpos($parentKey,'-OR>') !== false || strpos($key,'-OR>') !== false)
{
// get both strings
if (strpos($key,'-OR>') !== false)
{
$ORarray = explode('-OR>', $key);
}
else
{
$ORarray = array($key);
}
// make sure we have an array
if (!ComponentbuilderHelper::checkArray($globalKey))
{
$globalKey = array($globalKey);
}
// now load the query (this may be to much... but hey let it write the code :)
foreach ($globalKey as $_globalKey)
{
// now build the query
$ORquery = array('s' => array(), 'i' => array());
foreach ($ORarray as $ORkey)
{
$ORquery['i'][] = "a.".$ORkey." = ' . (int) \$".$_globalKey;
$ORquery['s'][] = "a.".$ORkey." = ' . \$db->quote(\$".$_globalKey.")";
}
$query .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Filter by ".$_globalKey." global.";
$query .= PHP_EOL."\t\t\$".$_globalKey." = \$this->".$_globalKey.";";
$query .= PHP_EOL."\t\tif (is_numeric(\$".$_globalKey." ))";
$query .= PHP_EOL."\t\t{";
$query .= PHP_EOL."\t\t\t\$query->where('" . implode(" . ' OR ", $ORquery['i']) . ", ' OR');";
$query .= PHP_EOL."\t\t}";
$query .= PHP_EOL."\t\telseif (is_string(\$".$_globalKey."))";
$query .= PHP_EOL."\t\t{";
$query .= PHP_EOL."\t\t\t\$query->where('" . implode(" . ' OR ", $ORquery['s']) . ", ' OR');";
$query .= PHP_EOL."\t\t}";
$query .= PHP_EOL."\t\telse";
$query .= PHP_EOL."\t\t{";
$query .= PHP_EOL."\t\t\t\$query->where('a.".$ORkey." = -5');";
$query .= PHP_EOL."\t\t}";
}
}
if (isset($this->accessBuilder[$viewName_single]) && ComponentbuilderHelper::checkString($this->accessBuilder[$viewName_single])) if (isset($this->accessBuilder[$viewName_single]) && ComponentbuilderHelper::checkString($this->accessBuilder[$viewName_single]))
{ {
$query .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Join over the asset groups."; $query .= PHP_EOL.PHP_EOL."\t\t//".$this->setLine(__LINE__)." Join over the asset groups.";
@ -7105,7 +7374,7 @@ class Interpretation extends Fields
// ###SELECTIONTRANSLATIONFIX### <<<DYNAMIC>>> // ###SELECTIONTRANSLATIONFIX### <<<DYNAMIC>>>
$query .= $this->setSelectionTranslationFix($viewName_list,$this->fileContentStatic['###Component###'],"\t"); $query .= $this->setSelectionTranslationFix($viewName_list,$this->fileContentStatic['###Component###'],"\t");
// filter by child repetable field values // filter by child repetable field values
if ($key && strpos($key,'-R>') !== false && strpos($key,'-A>') === false) if (ComponentbuilderHelper::checkString($globalKey) && $key && strpos($key,'-R>') !== false && strpos($key,'-A>') === false)
{ {
list($field,$target) = explode('-R>',$key); list($field,$target) = explode('-R>',$key);
$query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." in this Repetable Field"; $query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." in this Repetable Field";
@ -7135,7 +7404,7 @@ class Interpretation extends Fields
$query .= PHP_EOL."\t\t\t}"; $query .= PHP_EOL."\t\t\t}";
} }
// filter by child array field values // filter by child array field values
if ($key && strpos($key,'-R>') === false && strpos($key,'-A>') !== false) if (ComponentbuilderHelper::checkString($globalKey) && $key && strpos($key,'-R>') === false && strpos($key,'-A>') !== false)
{ {
$query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." Array Field"; $query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." Array Field";
$query .= PHP_EOL."\t\t\t\$".$globalKey." = \$this->".$globalKey.";"; $query .= PHP_EOL."\t\t\t\$".$globalKey." = \$this->".$globalKey.";";
@ -7183,7 +7452,7 @@ class Interpretation extends Fields
} }
// filter by parent repetable field values // filter by parent repetable field values
if ($key && strpos($parentKey,'-R>') !== false && strpos($parentKey,'-A>') === false) if (ComponentbuilderHelper::checkString($globalKey) && $key && strpos($parentKey,'-R>') !== false && strpos($parentKey,'-A>') === false)
{ {
list($bin,$target) = explode('-R>',$parentKey); list($bin,$target) = explode('-R>',$parentKey);
$query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$_key." Repetable Field"; $query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$_key." Repetable Field";
@ -7213,7 +7482,7 @@ class Interpretation extends Fields
$query .= PHP_EOL."\t\t\t}"; $query .= PHP_EOL."\t\t\t}";
} }
// filter by parent array field values // filter by parent array field values
if ($key && strpos($parentKey,'-R>') === false && strpos($parentKey,'-A>') !== false) if (ComponentbuilderHelper::checkString($globalKey) && $key && strpos($parentKey,'-R>') === false && strpos($parentKey,'-A>') !== false)
{ {
$query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." Array Field"; $query .= PHP_EOL.PHP_EOL."\t\t\t//".$this->setLine(__LINE__)." Filter by ".$globalKey." Array Field";
$query .= PHP_EOL."\t\t\t\$".$globalKey." = \$this->".$globalKey.";"; $query .= PHP_EOL."\t\t\t\$".$globalKey." = \$this->".$globalKey.";";
@ -10840,7 +11109,7 @@ class Interpretation extends Fields
{ {
// add the fix if this view has the need for it // add the fix if this view has the need for it
$fix = ''; $fix = '';
// encription switches // encryption switches
$basicCrypt = false; $basicCrypt = false;
$advancedCrypt = false; $advancedCrypt = false;
// setup correct core target // setup correct core target
@ -11104,9 +11373,9 @@ class Interpretation extends Fields
if ($basicCrypt) if ($basicCrypt)
{ {
$script = PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the basic encription key."; $script = PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the basic encryption key.";
$script .= PHP_EOL."\t".$tab."\t\$basickey = ".$Component."Helper::getCryptKey('basic');"; $script .= PHP_EOL."\t".$tab."\t\$basickey = ".$Component."Helper::getCryptKey('basic');";
$script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t".$tab."\t\$basic = new FOFEncryptAes(\$basickey, 128);"; $script .= PHP_EOL."\t".$tab."\t\$basic = new FOFEncryptAes(\$basickey, 128);";
// add the encryption script // add the encryption script
$fix = $script . $fix; $fix = $script . $fix;
@ -11114,9 +11383,9 @@ class Interpretation extends Fields
if ($advancedCrypt) if ($advancedCrypt)
{ {
$script = PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the advanced encription key."; $script = PHP_EOL.PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the advanced encryption key.";
$script .= PHP_EOL."\t".$tab."\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');"; $script .= PHP_EOL."\t".$tab."\t\$advancedkey = ".$Component."Helper::getCryptKey('advanced');";
$script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encription object."; $script .= PHP_EOL."\t".$tab."\t//".$this->setLine(__LINE__)." Get the encryption object.";
$script .= PHP_EOL."\t".$tab."\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);"; $script .= PHP_EOL."\t".$tab."\t\$advanced = new FOFEncryptAes(\$advancedkey, 256);";
// add the encryption script // add the encryption script
$fix = $script . $fix; $fix = $script . $fix;
@ -11232,7 +11501,7 @@ class Interpretation extends Fields
{ {
$imagePath = $this->componentPath.'/admin/assets/images'; $imagePath = $this->componentPath.'/admin/assets/images';
// move the image to its place // move the image to its place
JFile::copy(JPATH_SITE.'/'.$path, $imagePath.'/component-300.'.$type,'',true); JFile::copy(JPATH_SITE.'/'.$path, $imagePath.'/vdm-component.'.$type,'',true);
// now set the type to global for re-use // now set the type to global for re-use
$this->componentImageType = $type; $this->componentImageType = $type;
// return image type // return image type
@ -11503,14 +11772,14 @@ class Interpretation extends Fields
$display[] = PHP_EOL."\t\t<?php echo JHtml::_('bootstrap.addTab', 'cpanel_tab', '".$alias."', JText::_('".$tabname."', true)); ?>"; $display[] = PHP_EOL."\t\t<?php echo JHtml::_('bootstrap.addTab', 'cpanel_tab', '".$alias."', JText::_('".$tabname."', true)); ?>";
$display[] = "\t\t".'<div class="row-fluid">'; $display[] = "\t\t".'<div class="row-fluid">';
$display[] = $tab.'<div class="span12">'; $display[] = $tab.'<div class="span12">';
$display[] = $tab."\t<?php echo JHtml::_('bootstrap.startAccordion', '".$alias."_accordian', array('active' => 'one')); ?>"; $display[] = $tab."\t<?php echo JHtml::_('bootstrap.startAccordion', '".$alias."_accordian', array('active' => '".$alias."_one')); ?>";
$slidecounter = 1; $slidecounter = 1;
foreach($accordians as $accordianname => $html) foreach($accordians as $accordianname => $html)
{ {
$ac_alias = ComponentbuilderHelper::safeString($accordianname); $ac_alias = ComponentbuilderHelper::safeString($accordianname);
$counterName = ComponentbuilderHelper::safeString($slidecounter); $counterName = ComponentbuilderHelper::safeString($slidecounter);
$tempName = $alias.'_'.$ac_alias; $tempName = $alias.'_'.$ac_alias;
$display[] = $tab."\t\t<?php echo JHtml::_('bootstrap.addSlide', '".$alias."_accordian', '".$accordianname."', '".$counterName."'); ?>"; $display[] = $tab."\t\t<?php echo JHtml::_('bootstrap.addSlide', '".$alias."_accordian', '".$accordianname."', '".$alias."_".$counterName."'); ?>";
$display[] = $tab."\t\t\t<?php echo \$this->loadTemplate('".$tempName."');?>"; $display[] = $tab."\t\t\t<?php echo \$this->loadTemplate('".$tempName."');?>";
$display[] = $tab."\t\t<?php echo JHtml::_('bootstrap.endSlide'); ?>"; $display[] = $tab."\t\t<?php echo JHtml::_('bootstrap.endSlide'); ?>";
$slidecounter++; $slidecounter++;
@ -12014,7 +12283,7 @@ class Interpretation extends Fields
// start loading Global params // start loading Global params
$autorName = ComponentbuilderHelper::htmlEscape($this->componentData->author); $autorName = ComponentbuilderHelper::htmlEscape($this->componentData->author);
$autorEmail = ComponentbuilderHelper::htmlEscape($this->componentData->email); $autorEmail = ComponentbuilderHelper::htmlEscape($this->componentData->email);
$this->paramsBuilder = '"autorName":"'.$autorName.'","autorEmail":"'.$autorEmail.'"'; $this->extensionsParams[] = '"autorName":"'.$autorName.'","autorEmail":"'.$autorEmail.'"';
// set the custom fields // set the custom fields
if (isset($this->componentData->config) && ComponentbuilderHelper::checkArray($this->componentData->config)) if (isset($this->componentData->config) && ComponentbuilderHelper::checkArray($this->componentData->config))
{ {
@ -12046,18 +12315,18 @@ class Interpretation extends Fields
if ((strpos($field['custom_value'], '["') !== false) && (strpos($field['custom_value'], '"]') !== false)) if ((strpos($field['custom_value'], '["') !== false) && (strpos($field['custom_value'], '"]') !== false))
{ {
// load the Global checkin defautls // load the Global checkin defautls
$this->paramsBuilder .= ',"'.$fieldName.'":'.$field['custom_value']; $this->extensionsParams[] = '"'.$fieldName.'":'.$field['custom_value'];
} }
else else
{ {
// load the Global checkin defautls // load the Global checkin defautls
$this->paramsBuilder .= ',"'.$fieldName.'":"'.$field['custom_value'].'"'; $this->extensionsParams[] = '"'.$fieldName.'":"'.$field['custom_value'].'"';
} }
} }
elseif (ComponentbuilderHelper::checkString($fieldDefault)) elseif (ComponentbuilderHelper::checkString($fieldDefault))
{ {
// load the Global checkin defautls // load the Global checkin defautls
$this->paramsBuilder .= ',"'.$fieldName.'":"'.$fieldDefault.'"'; $this->extensionsParams[] = '"'.$fieldName.'":"'.$fieldDefault.'"';
} }
} }
} }
@ -12256,7 +12525,7 @@ class Interpretation extends Fields
$this->configFieldSets[] = "\t\t\t".'multiple="true"'; $this->configFieldSets[] = "\t\t\t".'multiple="true"';
$this->configFieldSets[] = "\t\t/>"; $this->configFieldSets[] = "\t\t/>";
// set params defaults // set params defaults
$this->paramsBuilder .= ',"'.$selector.'":["2"]'; $this->extensionsParams[] = '"'.$selector.'":["2"]';
} }
// add custom Target Groups fields // add custom Target Groups fields
if (isset($this->configFieldSetsCustomField['Target Groups']) && ComponentbuilderHelper::checkArray($this->configFieldSetsCustomField['Target Groups'])) if (isset($this->configFieldSetsCustomField['Target Groups']) && ComponentbuilderHelper::checkArray($this->configFieldSetsCustomField['Target Groups']))
@ -12356,7 +12625,7 @@ class Interpretation extends Fields
$this->langContent[$this->lang][$lang.'_CHECK_TIMER_OPTION_FIVE'] = "Once a week"; $this->langContent[$this->lang][$lang.'_CHECK_TIMER_OPTION_FIVE'] = "Once a week";
$this->langContent[$this->lang][$lang.'_CHECK_TIMER_OPTION_SIX'] = "Never"; $this->langContent[$this->lang][$lang.'_CHECK_TIMER_OPTION_SIX'] = "Never";
// load the Global checkin defautls // load the Global checkin defautls
$this->paramsBuilder .= ',"check_in":"-1 day"'; $this->extensionsParams[] = '"check_in":"-1 day"';
} }
// set history control // set history control
if ($this->setTagHistory) if ($this->setTagHistory)
@ -12382,7 +12651,7 @@ class Interpretation extends Fields
$this->configFieldSets[] = "\t\t/>"; $this->configFieldSets[] = "\t\t/>";
$this->configFieldSets[] = "\t\t".'<field type="spacer" name="spacerHistory" hr="true" />'; $this->configFieldSets[] = "\t\t".'<field type="spacer" name="spacerHistory" hr="true" />';
// load the Global checkin defautls // load the Global checkin defautls
$this->paramsBuilder .= ',"save_history":"1","history_limit":"10"'; $this->extensionsParams[] = '"save_history":"1","history_limit":"10"';
} }
// add custom global fields // add custom global fields
if (isset($this->configFieldSetsCustomField['Global']) && ComponentbuilderHelper::checkArray($this->configFieldSetsCustomField['Global'])) if (isset($this->configFieldSetsCustomField['Global']) && ComponentbuilderHelper::checkArray($this->configFieldSetsCustomField['Global']))
@ -12494,12 +12763,12 @@ class Interpretation extends Fields
$Counter = ComponentbuilderHelper::safeString($counter,'Ww'); $Counter = ComponentbuilderHelper::safeString($counter,'Ww');
$this->langContent[$this->lang][$langCont.'_'.$COUNTER] = "Contributor ".$Counter; $this->langContent[$this->lang][$langCont.'_'.$COUNTER] = "Contributor ".$Counter;
// load the Global checkin defautls // load the Global checkin defautls
$this->paramsBuilder .= ',"titleContributor'.$counter.'":"'.$cbTitle.'"'; $this->extensionsParams[] = '"titleContributor'.$counter.'":"'.$cbTitle.'"';
$this->paramsBuilder .= ',"nameContributor'.$counter.'":"'.$cbName.'"'; $this->extensionsParams[] = '"nameContributor'.$counter.'":"'.$cbName.'"';
$this->paramsBuilder .= ',"emailContributor'.$counter.'":"'.$cbEmail.'"'; $this->extensionsParams[] = '"emailContributor'.$counter.'":"'.$cbEmail.'"';
$this->paramsBuilder .= ',"linkContributor'.$counter.'":"'.$cbWebsite.'"'; $this->extensionsParams[] = '"linkContributor'.$counter.'":"'.$cbWebsite.'"';
$this->paramsBuilder .= ',"useContributor'.$counter.'":"'.(int) $contributor['use'].'"'; $this->extensionsParams[] = '"useContributor'.$counter.'":"'.(int) $contributor['use'].'"';
$this->paramsBuilder .= ',"showContributor'.$counter.'":"'.(int) $contributor['show'].'"'; $this->extensionsParams[] = '"showContributor'.$counter.'":"'.(int) $contributor['show'].'"';
} }
} }
// add more contributors if required // add more contributors if required
@ -12645,7 +12914,7 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->configFieldSets[] = "\t\t\t\t".$lang.'_DONT_LOAD</option>"'; $this->configFieldSets[] = "\t\t\t\t".$lang.'_DONT_LOAD</option>"';
$this->configFieldSets[] = "\t\t</field>"; $this->configFieldSets[] = "\t\t</field>";
// set params defaults // set params defaults
$this->paramsBuilder .= ',"uikit_load":"1"'; $this->extensionsParams[] = '"uikit_load":"1"';
// set field lang // set field lang
$this->langContent[$this->lang][$lang.'_UIKIT_MIN_LABEL'] = "Load Minified"; $this->langContent[$this->lang][$lang.'_UIKIT_MIN_LABEL'] = "Load Minified";
@ -12666,7 +12935,7 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->configFieldSets[] = "\t\t\t\t".$lang.'_YES</option>"'; $this->configFieldSets[] = "\t\t\t\t".$lang.'_YES</option>"';
$this->configFieldSets[] = "\t\t</field>"; $this->configFieldSets[] = "\t\t</field>";
// set params defaults // set params defaults
$this->paramsBuilder .= ',"uikit_min":""'; $this->extensionsParams[] = '"uikit_min":""';
// set field lang // set field lang
$this->langContent[$this->lang][$lang.'_UIKIT_STYLE_LABEL'] = "css Style"; $this->langContent[$this->lang][$lang.'_UIKIT_STYLE_LABEL'] = "css Style";
$this->langContent[$this->lang][$lang.'_UIKIT_STYLE_DESC'] = "Set the css style that should be used."; $this->langContent[$this->lang][$lang.'_UIKIT_STYLE_DESC'] = "Set the css style that should be used.";
@ -12689,7 +12958,7 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->configFieldSets[] = "\t\t\t\t".$lang.'_GRADIANT_LOAD</option>"'; $this->configFieldSets[] = "\t\t\t\t".$lang.'_GRADIANT_LOAD</option>"';
$this->configFieldSets[] = "\t\t</field>"; $this->configFieldSets[] = "\t\t</field>";
// set params defaults // set params defaults
$this->paramsBuilder .= ',"uikit_style":""'; $this->extensionsParams[] = '"uikit_style":""';
// add custom Uikit Settings fields // add custom Uikit Settings fields
if (isset($this->configFieldSetsCustomField['Uikit Settings']) && ComponentbuilderHelper::checkArray($this->configFieldSetsCustomField['Uikit Settings'])) if (isset($this->configFieldSetsCustomField['Uikit Settings']) && ComponentbuilderHelper::checkArray($this->configFieldSetsCustomField['Uikit Settings']))
{ {
@ -12740,10 +13009,10 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->langContent[$this->lang][$lang.'_FROMNAME_LABEL'] = "From Name"; $this->langContent[$this->lang][$lang.'_FROMNAME_LABEL'] = "From Name";
$this->langContent[$this->lang][$lang.'_FROMNAME_DESCRIPTION'] = "Text displayed in the header &quot;From:&quot; field when sending a site email. Usually the site name."; $this->langContent[$this->lang][$lang.'_FROMNAME_DESCRIPTION'] = "Text displayed in the header &quot;From:&quot; field when sending a site email. Usually the site name.";
$this->langContent[$this->lang][$lang.'_FROMNAME_HINT'] = "From Name Here"; $this->langContent[$this->lang][$lang.'_FROMNAME_HINT'] = "From Name Here";
$this->langContent[$this->lang][$lang.'_EMAILREPLY_LABEL'] = " Reply Email"; $this->langContent[$this->lang][$lang.'_EMAILREPLY_LABEL'] = " Reply to Email";
$this->langContent[$this->lang][$lang.'_EMAILREPLY_DESCRIPTION'] = "The global email address that will be used to set as the reply email. (leave blank for none)"; $this->langContent[$this->lang][$lang.'_EMAILREPLY_DESCRIPTION'] = "The global email address that will be used to set as the reply email. (leave blank for none)";
$this->langContent[$this->lang][$lang.'_EMAILREPLY_HINT'] = "Email Address Here"; $this->langContent[$this->lang][$lang.'_EMAILREPLY_HINT'] = "Email Address Here";
$this->langContent[$this->lang][$lang.'_REPLYNAME_LABEL'] = "Reply Name"; $this->langContent[$this->lang][$lang.'_REPLYNAME_LABEL'] = "Reply to Name";
$this->langContent[$this->lang][$lang.'_REPLYNAME_DESCRIPTION'] = "Text displayed in the header &quot;Reply To:&quot; field when replying to the site email. Usually the the person that receives the response. (leave blank for none)"; $this->langContent[$this->lang][$lang.'_REPLYNAME_DESCRIPTION'] = "Text displayed in the header &quot;Reply To:&quot; field when replying to the site email. Usually the the person that receives the response. (leave blank for none)";
$this->langContent[$this->lang][$lang.'_REPLYNAME_HINT'] = "Reply Name Here"; $this->langContent[$this->lang][$lang.'_REPLYNAME_HINT'] = "Reply Name Here";
$this->langContent[$this->lang][$lang.'_SENDMAIL_LABEL'] = "Sendmail Path"; $this->langContent[$this->lang][$lang.'_SENDMAIL_LABEL'] = "Sendmail Path";
@ -12835,10 +13104,10 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->configFieldSets[] = "\t\t\thint=\"".$lang."_FROMNAME_HINT\""; $this->configFieldSets[] = "\t\t\thint=\"".$lang."_FROMNAME_HINT\"";
$this->configFieldSets[] = "\t\t\tshowon=\"mailer:smtp,sendmail,default\""; $this->configFieldSets[] = "\t\t\tshowon=\"mailer:smtp,sendmail,default\"";
$this->configFieldSets[] = "\t\t/>\t\t"; $this->configFieldSets[] = "\t\t/>\t\t";
$this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Emailreply Field. Type: Text. (joomla) -->"; $this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Email reply to Field. Type: Text. (joomla) -->";
$this->configFieldSets[] = "\t\t<field"; $this->configFieldSets[] = "\t\t<field";
$this->configFieldSets[] = "\t\t\ttype=\"text\""; $this->configFieldSets[] = "\t\t\ttype=\"text\"";
$this->configFieldSets[] = "\t\t\tname=\"emailreply\""; $this->configFieldSets[] = "\t\t\tname=\"replyto\"";
$this->configFieldSets[] = "\t\t\tlabel=\"".$lang."_EMAILREPLY_LABEL\""; $this->configFieldSets[] = "\t\t\tlabel=\"".$lang."_EMAILREPLY_LABEL\"";
$this->configFieldSets[] = "\t\t\tsize=\"60\""; $this->configFieldSets[] = "\t\t\tsize=\"60\"";
$this->configFieldSets[] = "\t\t\tmaxlength=\"150\""; $this->configFieldSets[] = "\t\t\tmaxlength=\"150\"";
@ -12850,10 +13119,10 @@ for developing fast and powerful web interfaces. For more info visit <a href=\"h
$this->configFieldSets[] = "\t\t\thint=\"".$lang."_EMAILREPLY_HINT\""; $this->configFieldSets[] = "\t\t\thint=\"".$lang."_EMAILREPLY_HINT\"";
$this->configFieldSets[] = "\t\t\tshowon=\"mailer:smtp,sendmail,default\""; $this->configFieldSets[] = "\t\t\tshowon=\"mailer:smtp,sendmail,default\"";
$this->configFieldSets[] = "\t\t/>\t\t"; $this->configFieldSets[] = "\t\t/>\t\t";
$this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Replyname Field. Type: Text. (joomla) -->"; $this->configFieldSets[] = "\t\t<!--".$this->setLine(__LINE__)." Reply to name Field. Type: Text. (joomla) -->";
$this->configFieldSets[] = "\t\t<field"; $this->configFieldSets[] = "\t\t<field";
$this->configFieldSets[] = "\t\t\ttype=\"text\""; $this->configFieldSets[] = "\t\t\ttype=\"text\"";
$this->configFieldSets[] = "\t\t\tname=\"replyname\""; $this->configFieldSets[] = "\t\t\tname=\"replytoname\"";
$this->configFieldSets[] = "\t\t\tlabel=\"".$lang."_REPLYNAME_LABEL\""; $this->configFieldSets[] = "\t\t\tlabel=\"".$lang."_REPLYNAME_LABEL\"";
$this->configFieldSets[] = "\t\t\tsize=\"60\""; $this->configFieldSets[] = "\t\t\tsize=\"60\"";
$this->configFieldSets[] = "\t\t\tmaxlength=\"150\""; $this->configFieldSets[] = "\t\t\tmaxlength=\"150\"";
@ -13422,7 +13691,7 @@ function vdm_dkim() {
$this->configFieldSets[] = "\t</fieldset>"; $this->configFieldSets[] = "\t</fieldset>";
// set params defaults // set params defaults
$this->paramsBuilder .= ',"admin_chartbackground":"#F7F7FA","admin_mainwidth":"1000","admin_chartareatop":"20","admin_chartarealeft":"20","admin_chartareawidth":"170","admin_legendtextstylefontcolor":"10","admin_legendtextstylefontsize":"20","admin_vaxistextstylefontcolor":"#63B1F2","admin_haxistextstylefontcolor":"#63B1F2","admin_haxistitletextstylefontcolor":"#63B1F2","site_chartbackground":"#F7F7FA","site_mainwidth":"1000","site_chartareatop":"20","site_chartarealeft":"20","site_chartareawidth":"170","site_legendtextstylefontcolor":"10","site_legendtextstylefontsize":"20","site_vaxistextstylefontcolor":"#63B1F2","site_haxistextstylefontcolor":"#63B1F2","site_haxistitletextstylefontcolor":"#63B1F2"'; $this->extensionsParams[] = '"admin_chartbackground":"#F7F7FA","admin_mainwidth":"1000","admin_chartareatop":"20","admin_chartarealeft":"20","admin_chartareawidth":"170","admin_legendtextstylefontcolor":"10","admin_legendtextstylefontsize":"20","admin_vaxistextstylefontcolor":"#63B1F2","admin_haxistextstylefontcolor":"#63B1F2","admin_haxistitletextstylefontcolor":"#63B1F2","site_chartbackground":"#F7F7FA","site_mainwidth":"1000","site_chartareatop":"20","site_chartarealeft":"20","site_chartareawidth":"170","site_legendtextstylefontcolor":"10","site_legendtextstylefontsize":"20","site_vaxistextstylefontcolor":"#63B1F2","site_haxistextstylefontcolor":"#63B1F2","site_haxistitletextstylefontcolor":"#63B1F2"';
// set field lang // set field lang
$this->langContent[$this->lang][$lang.'_CHART_SETTINGS_LABEL'] = "Chart Settings"; $this->langContent[$this->lang][$lang.'_CHART_SETTINGS_LABEL'] = "Chart Settings";
@ -13475,7 +13744,7 @@ function vdm_dkim() {
$this->configFieldSets[] = "\t\t".'description="'.$lang.'_ENCRYPTION_DESC">'; $this->configFieldSets[] = "\t\t".'description="'.$lang.'_ENCRYPTION_DESC">';
// set tab lang // set tab lang
$this->langContent[$this->lang][$lang.'_ENCRYPTION_LABEL'] = "Encryption Settings"; $this->langContent[$this->lang][$lang.'_ENCRYPTION_LABEL'] = "Encryption Settings";
$this->langContent[$this->lang][$lang.'_ENCRYPTION_DESC'] = "The encription key for the field encryption is set here."; $this->langContent[$this->lang][$lang.'_ENCRYPTION_DESC'] = "The encryption key for the field encryption is set here.";
if (isset($this->basicEncryption) && $this->basicEncryption) if (isset($this->basicEncryption) && $this->basicEncryption)
{ {
@ -13559,27 +13828,27 @@ function vdm_dkim() {
{ {
$exportTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Export Data','U'); $exportTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Export Data','U');
$exportDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Export Data','U').'_DESC'; $exportDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Export Data','U').'_DESC';
$this->langContent['admin'][$exportTitle] = 'Export Data'; $this->langContent['bothadmin'][$exportTitle] = 'Export Data';
$this->langContent['admin'][$exportDesc] = ' Allows users in this group to export data.'; $this->langContent['bothadmin'][$exportDesc] = ' Allows users in this group to export data.';
$this->componentHead[] = "\t\t".'<action name="core.export" title="'.$exportTitle.'" description="'.$exportDesc.'" />'; $this->componentHead[] = "\t\t".'<action name="core.export" title="'.$exportTitle.'" description="'.$exportDesc.'" />';
$importTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Import Data','U'); $importTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Import Data','U');
$importDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Import Data','U').'_DESC'; $importDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Import Data','U').'_DESC';
$this->langContent['admin'][$importTitle] = 'Import Data'; $this->langContent['bothadmin'][$importTitle] = 'Import Data';
$this->langContent['admin'][$importDesc] = ' Allows users in this group to import data.'; $this->langContent['bothadmin'][$importDesc] = ' Allows users in this group to import data.';
$this->componentHead[] = "\t\t".'<action name="core.import" title="'.$importTitle.'" description="'.$importDesc.'" />'; $this->componentHead[] = "\t\t".'<action name="core.import" title="'.$importTitle.'" description="'.$importDesc.'" />';
} }
// version permission // version permission
$batchTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Use Batch','U'); $batchTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Use Batch','U');
$batchDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Use Batch','U').'_DESC'; $batchDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Use Batch','U').'_DESC';
$this->langContent['admin'][$batchTitle] = 'Use Batch'; $this->langContent['bothadmin'][$batchTitle] = 'Use Batch';
$this->langContent['admin'][$batchDesc] = ' Allows users in this group to use batch copy/update method.'; $this->langContent['bothadmin'][$batchDesc] = ' Allows users in this group to use batch copy/update method.';
$this->componentHead[] = "\t\t".'<action name="core.batch" title="'.$batchTitle.'" description="'.$batchDesc.'" />'; $this->componentHead[] = "\t\t".'<action name="core.batch" title="'.$batchTitle.'" description="'.$batchDesc.'" />';
// version permission // version permission
$importTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Versions','U'); $importTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Versions','U');
$importDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Versions','U').'_DESC'; $importDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Versions','U').'_DESC';
$this->langContent['admin'][$importTitle] = 'Edit Version'; $this->langContent['bothadmin'][$importTitle] = 'Edit Version';
$this->langContent['admin'][$importDesc] = ' Allows users in this group to edit versions.'; $this->langContent['bothadmin'][$importDesc] = ' Allows users in this group to edit versions.';
$this->componentHead[] = "\t\t".'<action name="core.version" title="'.$importTitle.'" description="'.$importDesc.'" />'; $this->componentHead[] = "\t\t".'<action name="core.version" title="'.$importTitle.'" description="'.$importDesc.'" />';
// set the defaults // set the defaults
$this->componentHead[] = "\t\t".'<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />'; $this->componentHead[] = "\t\t".'<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />';
@ -13590,14 +13859,14 @@ function vdm_dkim() {
// new custom created by permissions // new custom created by permissions
$created_byTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created By','U'); $created_byTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created By','U');
$created_byDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created By','U').'_DESC'; $created_byDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created By','U').'_DESC';
$this->langContent['admin'][$created_byTitle] = 'Edit Created By'; $this->langContent['bothadmin'][$created_byTitle] = 'Edit Created By';
$this->langContent['admin'][$created_byDesc] = ' Allows users in this group to edit created by.'; $this->langContent['bothadmin'][$created_byDesc] = ' Allows users in this group to edit created by.';
$this->componentHead[] = "\t\t".'<action name="core.edit.created_by" title="'.$created_byTitle.'" description="'.$created_byDesc.'" />'; $this->componentHead[] = "\t\t".'<action name="core.edit.created_by" title="'.$created_byTitle.'" description="'.$created_byDesc.'" />';
// new custom created date permissions // new custom created date permissions
$createdTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created Date','U'); $createdTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created Date','U');
$createdDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created Date','U').'_DESC'; $createdDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString('Edit Created Date','U').'_DESC';
$this->langContent['admin'][$createdTitle] = 'Edit Created Date'; $this->langContent['bothadmin'][$createdTitle] = 'Edit Created Date';
$this->langContent['admin'][$createdDesc] = ' Allows users in this group to edit created date.'; $this->langContent['bothadmin'][$createdDesc] = ' Allows users in this group to edit created date.';
$this->componentHead[] = "\t\t".'<action name="core.edit.created" title="'.$createdTitle.'" description="'.$createdDesc.'" />'; $this->componentHead[] = "\t\t".'<action name="core.edit.created" title="'.$createdTitle.'" description="'.$createdDesc.'" />';
// set the menu controller lookup // set the menu controller lookup
@ -13613,8 +13882,8 @@ function vdm_dkim() {
$customAdminTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($customAdminName.' Access','U'); $customAdminTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($customAdminName.' Access','U');
$customAdminDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($customAdminName.' Access','U').'_DESC'; $customAdminDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($customAdminName.' Access','U').'_DESC';
$sortKey = ComponentbuilderHelper::safeString($customAdminName.' Access'); $sortKey = ComponentbuilderHelper::safeString($customAdminName.' Access');
$this->langContent['admin'][$customAdminTitle] = $customAdminName.' Access'; $this->langContent['bothadmin'][$customAdminTitle] = $customAdminName.' Access';
$this->langContent['admin'][$customAdminDesc] = ' Allows the users in this group to access '.ComponentbuilderHelper::safeString($customAdminName,'w').'.'; $this->langContent['bothadmin'][$customAdminDesc] = ' Allows the users in this group to access '.ComponentbuilderHelper::safeString($customAdminName,'w').'.';
$this->componentGlobal[$sortKey] = "\t\t".'<action name="'.$customAdminCode.'.access" title="'.$customAdminTitle.'" description="'.$customAdminDesc.'" />'; $this->componentGlobal[$sortKey] = "\t\t".'<action name="'.$customAdminCode.'.access" title="'.$customAdminTitle.'" description="'.$customAdminDesc.'" />';
// add the custom permissions to use the buttons of this view // add the custom permissions to use the buttons of this view
$this->addCustomButtonPermissions($custom_admin_view['settings'], $customAdminName, $customAdminCode); $this->addCustomButtonPermissions($custom_admin_view['settings'], $customAdminName, $customAdminCode);
@ -13660,9 +13929,16 @@ function vdm_dkim() {
$sortKey = ComponentbuilderHelper::safeString($siteName.' Access Site'); $sortKey = ComponentbuilderHelper::safeString($siteName.' Access Site');
if (isset($site_view['access']) && $site_view['access'] == 1) if (isset($site_view['access']) && $site_view['access'] == 1)
{ {
$this->langContent['admin'][$siteTitle] = $siteName.' (Site) Access'; $this->langContent['bothadmin'][$siteTitle] = $siteName.' (Site) Access';
$this->langContent['admin'][$siteDesc] = ' Allows the users in this group to access site '.ComponentbuilderHelper::safeString($siteName,'w').'.'; $this->langContent['bothadmin'][$siteDesc] = ' Allows the users in this group to access site '.ComponentbuilderHelper::safeString($siteName,'w').'.';
$this->componentGlobal[$sortKey] = "\t\t".'<action name="site.'.$siteCode.'.access" title="'.$siteTitle.'" description="'.$siteDesc.'" />'; $this->componentGlobal[$sortKey] = "\t\t".'<action name="site.'.$siteCode.'.access" title="'.$siteTitle.'" description="'.$siteDesc.'" />';
// check if this site view requires access rule to default to public
if (isset($site_view['public']) && $site_view['public'] == 1)
{
// we use one as public group (TODO we see if we run into any issues)
$this->assetsRules[] = '"site.'.$siteCode.'.access":{"1":1}';
}
} }
// add the custom permissions to use the buttons of this view // add the custom permissions to use the buttons of this view
$this->addCustomButtonPermissions($site_view['settings'], $siteName, $siteCode); $this->addCustomButtonPermissions($site_view['settings'], $siteName, $siteCode);
@ -13795,8 +14071,8 @@ function vdm_dkim() {
$customButtonTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($nameView.' '.$customButtonName.' Button Access','U'); $customButtonTitle = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($nameView.' '.$customButtonName.' Button Access','U');
$customButtonDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($nameView.' '.$customButtonName.' Button Access','U').'_DESC'; $customButtonDesc = $this->langPrefix.'_'.ComponentbuilderHelper::safeString($nameView.' '.$customButtonName.' Button Access','U').'_DESC';
$sortButtonKey = ComponentbuilderHelper::safeString($nameView.' '.$customButtonName.' Button Access'); $sortButtonKey = ComponentbuilderHelper::safeString($nameView.' '.$customButtonName.' Button Access');
$this->langContent['admin'][$customButtonTitle] = $nameView.' '.$customButtonName.' Button Access'; $this->langContent['bothadmin'][$customButtonTitle] = $nameView.' '.$customButtonName.' Button Access';
$this->langContent['admin'][$customButtonDesc] = ' Allows the users in this group to access the '.ComponentbuilderHelper::safeString($customButtonName,'w').' button.'; $this->langContent['bothadmin'][$customButtonDesc] = ' Allows the users in this group to access the '.ComponentbuilderHelper::safeString($customButtonName,'w').' button.';
$this->componentGlobal[$sortButtonKey] = "\t\t".'<action name="'.$code.'.'.$customButtonCode.'" title="'.$customButtonTitle.'" description="'.$customButtonDesc.'" />'; $this->componentGlobal[$sortButtonKey] = "\t\t".'<action name="'.$code.'.'.$customButtonCode.'" title="'.$customButtonTitle.'" description="'.$customButtonDesc.'" />';
} }
} }
@ -14068,8 +14344,8 @@ function vdm_dkim() {
} }
} }
// set to language file // set to language file
$this->langContent['admin'][$title] = trim($permission['title']); $this->langContent['bothadmin'][$title] = trim($permission['title']);
$this->langContent['admin'][$title.'_DESC'] = trim($permission['description']); $this->langContent['bothadmin'][$title.'_DESC'] = trim($permission['description']);
} }
} }
} }

View File

@ -143,6 +143,11 @@ class Infusion extends Interpretation
$this->setConfigFieldsets(1); $this->setConfigFieldsets(1);
$this->lang = $keepLang; $this->lang = $keepLang;
// ###ADMINJS###
$this->fileContentStatic['###ADMINJS###'] = $this->setPlaceholders($this->customScriptBuilder['component_js'], $this->placeholders);
// ###SITEJS###
$this->fileContentStatic['###SITEJS###'] = $this->setPlaceholders($this->customScriptBuilder['component_js'], $this->placeholders);
// ###ADMINCSS### // ###ADMINCSS###
$this->fileContentStatic['###ADMINCSS###'] = $this->setPlaceholders($this->customScriptBuilder['component_css'], $this->placeholders); $this->fileContentStatic['###ADMINCSS###'] = $this->setPlaceholders($this->customScriptBuilder['component_css'], $this->placeholders);
// ###SITECSS### // ###SITECSS###
@ -443,7 +448,7 @@ class Infusion extends Interpretation
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_BUTTONS_LIST###'] $this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_BUTTONS_LIST###']
= $this->setCustomButtons($view, 3, "\t"); = $this->setCustomButtons($view, 3, "\t");
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST###'] $this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST###']
= $this->setFunctionOnlyButtons(); = $this->setFunctionOnlyButtons($viewName_list);
// ###GET_ITEMS_METHOD_STRING_FIX### <<<DYNAMIC>>> // ###GET_ITEMS_METHOD_STRING_FIX### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_STRING_FIX###'] $this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_STRING_FIX###']
@ -1061,6 +1066,11 @@ class Infusion extends Interpretation
// setup the templates // setup the templates
$this->setCustomViewTemplateBody($view); $this->setCustomViewTemplateBody($view);
} }
// if no default site view was set, the redirect to root
if (!isset($this->fileContentStatic['###SITE_DEFAULT_VIEW###']))
{
$this->fileContentStatic['###SITE_DEFAULT_VIEW###'] = '';
}
// set site custom script to helper class // set site custom script to helper class
// ###SITE_CUSTOM_HELPER_SCRIPT### // ###SITE_CUSTOM_HELPER_SCRIPT###
$this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###'] $this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###']

Some files were not shown because too many files have changed in this diff Show More