Compare commits

...

50 Commits

Author SHA1 Message Date
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
ddeb02de74 version upgrade 2017-08-12 19:00:05 +01:00
e003be492c Fixed gh-108 to insure that all fields get added if multiple zeros are found. Improved the default value options in global config to allow for array of default values. Fixed typo forward slash. 2017-08-12 12:51:28 +01:00
fb7b5027c2 improved the answer for gh-106 to insure the correct form is submitted on compile 2017-08-05 12:28:24 +01:00
7a902d454a fixed gh-106 to insure the correct form is submitted on compile, also some other minor bug fixes 2017-08-05 12:10:08 +01:00
bd716ae7ef Stable Release 2017-07-24 04:28:27 +01:00
e074d3b5ce added Joomla to the header in the readme since it has become know as JCB 2017-07-21 00:38:35 +01:00
f1a054c0e7 Imporved the Adding of Custom Config Fields, added some shields.io icons to the JCB readme 2017-07-21 00:26:48 +01:00
e037d29935 version upgrade 2017-07-03 01:41:25 +01:00
b60803ef7b added timeago lib to repo for jQuery, and added dates to issue and release info on dash 2017-06-29 23:23:06 +01:00
aceda7bae2 Fixed a bug with the automated update sql that ensured that the sql for new fields gets added. 2017-06-29 22:03:53 +01:00
111aa4a3de donation info updated 2017-06-28 21:02:04 +01:00
9742991690 improved the dashboard of JCB to include releases and better item display of each issue and release 2017-06-28 11:05:31 +01:00
2c1903508c added the subform and custom and other fields to the demo 2017-06-18 11:47:10 +01:00
384c403ae4 Add new release with subform field now also available 2017-06-18 08:38:12 +01:00
6e0bcc0ae2 Resolves gh-96 by adding the feature to auto create the update SQL. Also fixes gh-100 Field Length Issue. 2017-06-16 13:38:06 +01:00
3ad9ae8b8f resolves gh-91 to insure that int and floats are not set as strings in SQL defaults 2017-06-05 21:18:32 +01:00
Dev
5e36ede2ac fixed gh-85 to insure parameter 2 is an array 2017-05-28 23:44:15 +02:00
cb355feaf4 fixed import of components selection 2017-05-20 09:36:26 +02:00
9b1f111251 fix gh-78 to ensure the field options get loaded in the repeatable conditions 2017-05-08 11:09:24 +03:00
4cead46ac4 Fixed gh-75 to insure the column names are loaded as before. Fix gh-76 by adding more checks to insure that the correct date is used in the getLastModifiedDate method. 2017-05-04 23:34:28 +01:00
25c632065a updated the readme 2017-04-26 17:30:09 +01:00
ea1edebc05 Resolves gh-71 bug, so that admin views that has no fields are still accessible. Fixed gh-72 to insure all components on Joomla version 3.7.0 works and looks correctly. Please just recompile your components for Joomla v3.7.0 2017-04-26 09:56:17 +01:00
498c75dfcf Next stable release with improvments and fixes 2017-04-08 22:58:53 +01:00
f39a877db2 fixed double // in file path when exporting a component and its images 2017-04-08 21:52:51 +01:00
7afbb131ce fixes gh-68 where the wrong name is used in searching for the alias, it must be the table name, and this is not always the same as the view. 2017-04-08 19:52:09 +01:00
6bba258fec Improved the import feature to insure that we don't have language conflicts with multiple strings for one language. 2017-04-08 14:44:41 +01:00
1cf259a54d Resolves gh-60 with complete implementation of the language manager/translator feature. Added a purge function the clear unused language strings from the database and unlike them from the related component during compilation. 2017-04-07 21:33:35 +01:00
d113d7b91b Added the new language feature to the export and import of Components, so that their related translations can also be linked to the exported package. 2017-04-06 22:40:22 +01:00
dev
2f90f9359c fixed typo 2017-04-06 09:51:46 +01:00
dev
b1d9b672ab Added the global switch to set the percentage a language should be translated before it is automatically added to the component during compilation. Force language to be added when the debug lines are set to be added. 2017-04-06 09:47:51 +01:00
dev
d9b2e51f8c Fix redirect during creation of new language from translation view. 2017-04-05 21:14:29 +01:00
dev
2caaa1a1e3 added the translation to the component view, also adding lang tags of ready translated languages 2017-04-05 17:26:17 +01:00
dev
1b3cb2bfdd fixed the search in translation view 2017-04-05 16:21:56 +01:00
dev
5a6ef33c5b removed button for now 2017-04-05 15:07:48 +01:00
dev
7eb5a2473c include fix for the a.* error 2017-04-05 14:49:11 +01:00
dev
34d14ed95d gh-60 language translation component added, basic implementation 2017-04-05 14:21:10 +01:00
d31b0b6c0c fixed gh-53 the database error call on a.*, very strange 2017-04-05 07:27:39 +01:00
dev
f3f91f492f added the UI for the new Language Manager gh-60 2017-04-03 11:58:41 +01:00
533 changed files with 30764 additions and 5238 deletions

View File

@ -1,14 +1,15 @@
# Component Builder (2.4.1)
# 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)
This is a [Joomla 3.x](http://www.joomla.org/) component.
![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.
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!
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.1) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.5.4) with **ALL** its features and **ALL** concepts totally open-source and free!
Once installed upgrades are quick and easy via the default Joomla upgrade area.
@ -75,12 +76,14 @@ Once installed upgrades are quick and easy via the default Joomla upgrade area.
# Get Access to Video Tutorials
> **You can purchase more demo content for Component Builder including access to training & help video tutorials:**
> **You can purchase more [demo content](http://vdm.bz/jcb-packages) for Component Builder including access to training & help video tutorials:**
+ Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component)
+ Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component)
+ Help View Integration*
+ Training & Help Videos* tutorials in the component included.
+ *Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demo.zip) _(free)_
+ *Advance Demo Component* get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demoAdvanced.zip) _([buy key](http://vdm.bz/get-advance-demo-key))_
+ *Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_sermondistributor.zip) _([buy key](http://vdm.bz/get-sermon-distributor-key))_
+ *Location Data* see the build on [github](https://github.com/vdm-io/Joomla-Location-Data) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_locationData.zip) _([buy key](http://vdm.bz/get-location-data-key))_
+ *Help View Integration*
+ *Training & Help Videos* tutorials in the component included.
[**GET ACCESS NOW!**](http://vdm.bz/component-builder)
@ -105,13 +108,13 @@ Component Builder is mapped as a component in itself on my local development env
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 1st April, 2017
+ *Version*: 2.4.1
+ *Last Build*: 13th September, 2017
+ *Version*: 2.5.4
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
+ *Line count*: **96852**
+ *File count*: **581**
+ *Folder count*: **107**
+ *Line count*: **120240**
+ *File count*: **696**
+ *Folder count*: **121**
> 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)
@ -119,5 +122,6 @@ Component Builder is mapped as a component in itself on my local development env
## Donations
Come on buy me a coffee :)
* PayPal: pay@vdm.io
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823

View File

@ -1,14 +1,15 @@
# Component Builder (2.4.1)
# 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)
This is a [Joomla 3.x](http://www.joomla.org/) component.
![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.
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!
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.1) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.5.4) with **ALL** its features and **ALL** concepts totally open-source and free!
Once installed upgrades are quick and easy via the default Joomla upgrade area.
@ -75,12 +76,14 @@ Once installed upgrades are quick and easy via the default Joomla upgrade area.
# Get Access to Video Tutorials
> **You can purchase more demo content for Component Builder including access to training & help video tutorials:**
> **You can purchase more [demo content](http://vdm.bz/jcb-packages) for Component Builder including access to training & help video tutorials:**
+ Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component)
+ Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component)
+ Help View Integration*
+ Training & Help Videos* tutorials in the component included.
+ *Demo Component* see the build on [github](https://github.com/namibia/demo-joomla-3-component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demo.zip) _(free)_
+ *Advance Demo Component* get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_demoAdvanced.zip) _([buy key](http://vdm.bz/get-advance-demo-key))_
+ *Sermon Distributor* see the build on [github](https://github.com/SermonDistributor/Joomla-3-Component) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_sermondistributor.zip) _([buy key](http://vdm.bz/get-sermon-distributor-key))_
+ *Location Data* see the build on [github](https://github.com/vdm-io/Joomla-Location-Data) or get the [JCB Package](https://github.com/vdm-io/JCB-Packages/raw/master/JCB_locationData.zip) _([buy key](http://vdm.bz/get-location-data-key))_
+ *Help View Integration*
+ *Training & Help Videos* tutorials in the component included.
[**GET ACCESS NOW!**](http://vdm.bz/component-builder)
@ -105,13 +108,13 @@ Component Builder is mapped as a component in itself on my local development env
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 1st April, 2017
+ *Version*: 2.4.1
+ *Last Build*: 13th September, 2017
+ *Version*: 2.5.4
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
+ *Line count*: **96852**
+ *File count*: **581**
+ *Folder count*: **107**
+ *Line count*: **120240**
+ *File count*: **696**
+ *Folder count*: **121**
> 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)
@ -119,5 +122,6 @@ Component Builder is mapped as a component in itself on my local development env
## Donations
Come on buy me a coffee :)
* PayPal: pay@vdm.io
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3
* PayPal: [paypal.me/payvdm](https://www.paypal.me/payvdm)
* Bitcoin: 1FLxiT6wyxgZ3boeviLkYJ1DRpp41uzpxa
* Ethereum: 0x243392daa3c9c8bc841fcacf7c7f72541cb16823

View File

@ -19,6 +19,83 @@
<action name="admin_view.batch" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_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.edit.add_css_view" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEW" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEW_DESC" />
<action name="admin_view.edit.add_css_views" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEWS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEWS_DESC" />
<action name="admin_view.edit.add_custom_button" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_BUTTON" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_BUTTON_DESC" />
<action name="admin_view.edit.add_custom_import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_IMPORT_DESC" />
<action name="admin_view.edit.add_fadein" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_FADEIN" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_FADEIN_DESC" />
<action name="admin_view.edit.add_javascript_view_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FILE_DESC" />
<action name="admin_view.edit.add_javascript_view_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FOOTER_DESC" />
<action name="admin_view.edit.add_javascript_views_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FILE_DESC" />
<action name="admin_view.edit.add_javascript_views_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FOOTER_DESC" />
<action name="admin_view.edit.add_php_after_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_DELETE_DESC" />
<action name="admin_view.edit.add_php_after_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_PUBLISH_DESC" />
<action name="admin_view.edit.add_php_ajax" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AJAX" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AJAX_DESC" />
<action name="admin_view.edit.add_php_allowedit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_ALLOWEDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_ALLOWEDIT_DESC" />
<action name="admin_view.edit.add_php_batchcopy" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHCOPY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHCOPY_DESC" />
<action name="admin_view.edit.add_php_batchmove" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHMOVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHMOVE_DESC" />
<action name="admin_view.edit.add_php_before_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_DELETE_DESC" />
<action name="admin_view.edit.add_php_before_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_PUBLISH_DESC" />
<action name="admin_view.edit.add_php_before_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_SAVE_DESC" />
<action name="admin_view.edit.add_php_document" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_DOCUMENT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_DOCUMENT_DESC" />
<action name="admin_view.edit.add_php_getitem" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEM" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEM_DESC" />
<action name="admin_view.edit.add_php_getitems" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_DESC" />
<action name="admin_view.edit.add_php_getitems_after_all" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_AFTER_ALL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_AFTER_ALL_DESC" />
<action name="admin_view.edit.add_php_getlistquery" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETLISTQUERY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETLISTQUERY_DESC" />
<action name="admin_view.edit.add_php_postsavehook" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_POSTSAVEHOOK" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_POSTSAVEHOOK_DESC" />
<action name="admin_view.edit.add_php_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_SAVE_DESC" />
<action name="admin_view.edit.add_sql" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_SQL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_SQL_DESC" />
<action name="admin_view.edit.addconditions" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDCONDITIONS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDCONDITIONS_DESC" />
<action name="admin_view.edit.addfields" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDFIELDS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDFIELDS_DESC" />
<action name="admin_view.edit.addlinked_views" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDLINKED_VIEWS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDLINKED_VIEWS_DESC" />
<action name="admin_view.edit.addpermissions" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDPERMISSIONS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDPERMISSIONS_DESC" />
<action name="admin_view.edit.addtables" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABLES" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABLES_DESC" />
<action name="admin_view.edit.addtabs" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABS_DESC" />
<action name="admin_view.edit.ajax_input" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_AJAX_INPUT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_AJAX_INPUT_DESC" />
<action name="admin_view.edit.css_view" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEW" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEW_DESC" />
<action name="admin_view.edit.css_views" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEWS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEWS_DESC" />
<action name="admin_view.edit.custom_button" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CUSTOM_BUTTON" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CUSTOM_BUTTON_DESC" />
<action name="admin_view.edit.description" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESCRIPTION_DESC" />
<action name="admin_view.edit.html_import_view" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_HTML_IMPORT_VIEW" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_HTML_IMPORT_VIEW_DESC" />
<action name="admin_view.edit.icon" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_DESC" />
<action name="admin_view.edit.icon_add" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_ADD" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_ADD_DESC" />
<action name="admin_view.edit.icon_category" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_CATEGORY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_CATEGORY_DESC" />
<action name="admin_view.edit.javascript_view_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FILE_DESC" />
<action name="admin_view.edit.javascript_view_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FOOTER_DESC" />
<action name="admin_view.edit.javascript_views_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FILE_DESC" />
<action name="admin_view.edit.javascript_views_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FOOTER_DESC" />
<action name="admin_view.edit.name_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_LIST_DESC" />
<action name="admin_view.edit.name_single" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_SINGLE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_SINGLE_DESC" />
<action name="admin_view.edit.php_after_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_DELETE_DESC" />
<action name="admin_view.edit.php_after_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_PUBLISH_DESC" />
<action name="admin_view.edit.php_ajaxmethod" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AJAXMETHOD" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AJAXMETHOD_DESC" />
<action name="admin_view.edit.php_allowedit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_ALLOWEDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_ALLOWEDIT_DESC" />
<action name="admin_view.edit.php_batchcopy" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHCOPY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHCOPY_DESC" />
<action name="admin_view.edit.php_batchmove" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHMOVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHMOVE_DESC" />
<action name="admin_view.edit.php_before_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_DELETE_DESC" />
<action name="admin_view.edit.php_before_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_PUBLISH_DESC" />
<action name="admin_view.edit.php_before_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_SAVE_DESC" />
<action name="admin_view.edit.php_controller" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_DESC" />
<action name="admin_view.edit.php_controller_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_LIST_DESC" />
<action name="admin_view.edit.php_document" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_DOCUMENT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_DOCUMENT_DESC" />
<action name="admin_view.edit.php_getitem" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEM" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEM_DESC" />
<action name="admin_view.edit.php_getitems" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_DESC" />
<action name="admin_view.edit.php_getitems_after_all" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_AFTER_ALL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_AFTER_ALL_DESC" />
<action name="admin_view.edit.php_getlistquery" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETLISTQUERY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETLISTQUERY_DESC" />
<action name="admin_view.edit.php_import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DESC" />
<action name="admin_view.edit.php_import_display" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DISPLAY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DISPLAY_DESC" />
<action name="admin_view.edit.php_import_ext" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_EXT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_EXT_DESC" />
<action name="admin_view.edit.php_import_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SAVE_DESC" />
<action name="admin_view.edit.php_import_setdata" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SETDATA" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SETDATA_DESC" />
<action name="admin_view.edit.php_model" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_DESC" />
<action name="admin_view.edit.php_model_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_LIST_DESC" />
<action name="admin_view.edit.php_postsavehook" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_POSTSAVEHOOK" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_POSTSAVEHOOK_DESC" />
<action name="admin_view.edit.php_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_SAVE_DESC" />
<action name="admin_view.edit.short_description" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="admin_view.edit.source" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SOURCE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SOURCE_DESC" />
<action name="admin_view.edit.sql" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SQL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SQL_DESC" />
<action name="admin_view.edit.system_name" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SYSTEM_NAME" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SYSTEM_NAME_DESC" />
<action name="admin_view.edit.type" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_TYPE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_TYPE_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.import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC" />
@ -88,6 +165,22 @@
<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.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.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" />
@ -101,18 +194,117 @@
<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.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.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.batch" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_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.edit.add_admin_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_ADMIN_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_ADMIN_EVENT_DESC" />
<action name="joomla_component.edit.add_css" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_CSS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_CSS_DESC" />
<action name="joomla_component.edit.add_email_helper" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_EMAIL_HELPER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_EMAIL_HELPER_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.edit.add_php_dashboard_methods" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_DASHBOARD_METHODS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_DASHBOARD_METHODS_DESC" />
<action name="joomla_component.edit.add_php_helper_admin" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_ADMIN" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_ADMIN_DESC" />
<action name="joomla_component.edit.add_php_helper_both" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_BOTH" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_BOTH_DESC" />
<action name="joomla_component.edit.add_php_helper_site" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_SITE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_SITE_DESC" />
<action name="joomla_component.edit.add_php_method_uninstall" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_METHOD_UNINSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_METHOD_UNINSTALL_DESC" />
<action name="joomla_component.edit.add_php_postflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.add_php_postflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.add_php_preflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.add_php_preflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.add_sales_server" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SALES_SERVER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SALES_SERVER_DESC" />
<action name="joomla_component.edit.add_site_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SITE_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SITE_EVENT_DESC" />
<action name="joomla_component.edit.add_sql" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SQL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SQL_DESC" />
<action name="joomla_component.edit.add_update_server" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_UPDATE_SERVER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_UPDATE_SERVER_DESC" />
<action name="joomla_component.edit.addadmin_views" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS_DESC" />
<action name="joomla_component.edit.addconfig" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONFIG" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONFIG_DESC" />
<action name="joomla_component.edit.addcontributors" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS_DESC" />
<action name="joomla_component.edit.addcustom_admin_views" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOM_ADMIN_VIEWS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOM_ADMIN_VIEWS_DESC" />
<action name="joomla_component.edit.addcustommenus" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS_DESC" />
<action name="joomla_component.edit.addfiles" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES_DESC" />
<action name="joomla_component.edit.addfolders" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOLDERS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOLDERS_DESC" />
<action name="joomla_component.edit.addfootable" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOOTABLE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOOTABLE_DESC" />
<action name="joomla_component.edit.addreadme" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME_DESC" />
<action name="joomla_component.edit.addsite_views" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDSITE_VIEWS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDSITE_VIEWS_DESC" />
<action name="joomla_component.edit.adduikit" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDUIKIT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDUIKIT_DESC" />
<action name="joomla_component.edit.author" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_AUTHOR" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_AUTHOR_DESC" />
<action name="joomla_component.edit.bom" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM_DESC" />
<action name="joomla_component.edit.buildcomp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMP" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMP_DESC" />
<action name="joomla_component.edit.buildcompsql" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMPSQL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMPSQL_DESC" />
<action name="joomla_component.edit.companyname" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPANYNAME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPANYNAME_DESC" />
<action name="joomla_component.edit.component_version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPONENT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPONENT_VERSION_DESC" />
<action name="joomla_component.edit.copyright" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT_DESC" />
<action name="joomla_component.edit.creatuserhelper" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER_DESC" />
<action name="joomla_component.edit.css" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS_DESC" />
<action name="joomla_component.edit.dashboard_tab" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DASHBOARD_TAB" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DASHBOARD_TAB_DESC" />
<action name="joomla_component.edit.debug_linenr" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DEBUG_LINENR" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DEBUG_LINENR_DESC" />
<action name="joomla_component.edit.description" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION_DESC" />
<action name="joomla_component.edit.email" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMAIL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMAIL_DESC" />
<action name="joomla_component.edit.emptycontributors" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS_DESC" />
<action name="joomla_component.edit.export_buy_link" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_BUY_LINK" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_BUY_LINK_DESC" />
<action name="joomla_component.edit.export_key" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_KEY" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_KEY_DESC" />
<action name="joomla_component.edit.export_package_link" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_PACKAGE_LINK" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_PACKAGE_LINK_DESC" />
<action name="joomla_component.edit.image" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE_DESC" />
<action name="joomla_component.edit.license" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_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.mvc_versiondate" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_MVC_VERSIONDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_MVC_VERSIONDATE_DESC" />
<action name="joomla_component.edit.name" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_DESC" />
<action name="joomla_component.edit.name_code" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_CODE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_CODE_DESC" />
<action name="joomla_component.edit.number" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER_DESC" />
<action name="joomla_component.edit.php_admin_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_ADMIN_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_ADMIN_EVENT_DESC" />
<action name="joomla_component.edit.php_dashboard_methods" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_DASHBOARD_METHODS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_DASHBOARD_METHODS_DESC" />
<action name="joomla_component.edit.php_helper_admin" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_ADMIN" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_ADMIN_DESC" />
<action name="joomla_component.edit.php_helper_both" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_BOTH" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_BOTH_DESC" />
<action name="joomla_component.edit.php_helper_site" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_SITE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_SITE_DESC" />
<action name="joomla_component.edit.php_method_uninstall" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_METHOD_UNINSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_METHOD_UNINSTALL_DESC" />
<action name="joomla_component.edit.php_postflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.php_postflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.php_preflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.php_preflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.php_site_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_SITE_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_SITE_EVENT_DESC" />
<action name="joomla_component.edit.readme" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README_DESC" />
<action name="joomla_component.edit.sales_server_ftp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SALES_SERVER_FTP" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SALES_SERVER_FTP_DESC" />
<action name="joomla_component.edit.short_description" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="joomla_component.edit.sql" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_DESC" />
<action name="joomla_component.edit.sql_tweak" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK_DESC" />
<action name="joomla_component.edit.system_name" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SYSTEM_NAME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SYSTEM_NAME_DESC" />
<action name="joomla_component.edit.toignore" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_TOIGNORE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_TOIGNORE_DESC" />
<action name="joomla_component.edit.update_server" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_DESC" />
<action name="joomla_component.edit.update_server_ftp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_FTP" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_FTP_DESC" />
<action name="joomla_component.edit.update_server_target" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_TARGET" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_TARGET_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.edit.version_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_UPDATE_DESC" />
<action name="joomla_component.edit.website" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WEBSITE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WEBSITE_DESC" />
<action name="joomla_component.edit.whmcs_key" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_KEY" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_KEY_DESC" />
<action name="joomla_component.edit.whmcs_url" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_URL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_URL_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.submenu" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC" />
<action name="language_translation.access" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS_DESC" />
<action name="language_translation.batch" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE_DESC" />
<action name="language_translation.create" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE_DESC" />
<action name="language_translation.dashboard_list" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST_DESC" />
<action name="language_translation.delete" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE_DESC" />
<action name="language_translation.edit" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_DESC" />
<action name="language_translation.edit.own" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN_DESC" />
<action name="language_translation.edit.state" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE_DESC" />
<action name="language_translation.version" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION_DESC" />
<action name="language_translation.export" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EXPORT" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EXPORT_DESC" />
<action name="language_translation.import" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT_DESC" />
<action name="language_translation.submenu" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC" />
<action name="language.access" title="COM_COMPONENTBUILDER_LANGUAGES_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC" />
<action name="language.batch" title="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE" description="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE_DESC" />
<action name="language.create" title="COM_COMPONENTBUILDER_LANGUAGES_CREATE" description="COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC" />
<action name="language.delete" title="COM_COMPONENTBUILDER_LANGUAGES_DELETE" description="COM_COMPONENTBUILDER_LANGUAGES_DELETE_DESC" />
<action name="language.edit" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_DESC" />
<action name="language.edit.own" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN_DESC" />
<action name="language.edit.state" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE_DESC" />
<action name="language.version" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION_DESC" />
<action name="language.export" title="COM_COMPONENTBUILDER_LANGUAGES_EXPORT" description="COM_COMPONENTBUILDER_LANGUAGES_EXPORT_DESC" />
<action name="language.import" title="COM_COMPONENTBUILDER_LANGUAGES_IMPORT" description="COM_COMPONENTBUILDER_LANGUAGES_IMPORT_DESC" />
<action name="language.submenu" title="COM_COMPONENTBUILDER_LANGUAGES_SUBMENU" description="COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC" />
<action name="layout.access" title="COM_COMPONENTBUILDER_LAYOUTS_ACCESS" description="COM_COMPONENTBUILDER_LAYOUTS_ACCESS_DESC" />
<action name="layout.batch" title="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE" description="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC" />
<action name="layout.dashboard_add" title="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC" />
@ -147,8 +339,83 @@
<action name="template.submenu" title="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU" description="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC" />
</section>
<section name="joomla_component">
<action name="joomla_component.edit.system_name" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SYSTEM_NAME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SYSTEM_NAME_DESC" />
<action name="joomla_component.edit.name_code" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_CODE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_CODE_DESC" />
<action name="joomla_component.edit.component_version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPONENT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPONENT_VERSION_DESC" />
<action name="joomla_component.edit.short_description" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="joomla_component.edit.companyname" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPANYNAME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPANYNAME_DESC" />
<action name="joomla_component.edit.author" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_AUTHOR" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_AUTHOR_DESC" />
<action name="joomla_component.edit.readme" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README_DESC" />
<action name="joomla_component.edit.add_php_dashboard_methods" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_DASHBOARD_METHODS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_DASHBOARD_METHODS_DESC" />
<action name="joomla_component.edit.description" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION_DESC" />
<action name="joomla_component.edit.add_php_helper_admin" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_ADMIN" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_ADMIN_DESC" />
<action name="joomla_component.edit.copyright" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT_DESC" />
<action name="joomla_component.edit.php_postflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.debug_linenr" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DEBUG_LINENR" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DEBUG_LINENR_DESC" />
<action name="joomla_component.edit.mvc_versiondate" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_MVC_VERSIONDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_MVC_VERSIONDATE_DESC" />
<action name="joomla_component.edit.update_server_ftp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_FTP" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_FTP_DESC" />
<action name="joomla_component.edit.add_php_helper_site" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_SITE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_SITE_DESC" />
<action name="joomla_component.edit.php_preflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.creatuserhelper" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER_DESC" />
<action name="joomla_component.edit.php_method_uninstall" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_METHOD_UNINSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_METHOD_UNINSTALL_DESC" />
<action name="joomla_component.edit.css" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS_DESC" />
<action name="joomla_component.edit.version_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_UPDATE_DESC" />
<action name="joomla_component.edit.email" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMAIL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMAIL_DESC" />
<action name="joomla_component.edit.buildcomp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMP" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMP_DESC" />
<action name="joomla_component.edit.website" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WEBSITE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WEBSITE_DESC" />
<action name="joomla_component.edit.export_package_link" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_PACKAGE_LINK" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_PACKAGE_LINK_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.edit.addfootable" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOOTABLE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOOTABLE_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.add_php_helper_both" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_BOTH" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_BOTH_DESC" />
<action name="joomla_component.edit.add_admin_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_ADMIN_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_ADMIN_EVENT_DESC" />
<action name="joomla_component.edit.whmcs_key" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_KEY" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_KEY_DESC" />
<action name="joomla_component.edit.add_site_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SITE_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SITE_EVENT_DESC" />
<action name="joomla_component.edit.whmcs_url" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_URL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_URL_DESC" />
<action name="joomla_component.edit.dashboard_tab" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DASHBOARD_TAB" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DASHBOARD_TAB_DESC" />
<action name="joomla_component.edit.license" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_DESC" />
<action name="joomla_component.edit.php_preflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.bom" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM_DESC" />
<action name="joomla_component.edit.php_postflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.image" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE_DESC" />
<action name="joomla_component.edit.sql" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_DESC" />
<action name="joomla_component.edit.update_server_target" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_TARGET" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_TARGET_DESC" />
<action name="joomla_component.edit.add_update_server" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_UPDATE_SERVER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_UPDATE_SERVER_DESC" />
<action name="joomla_component.edit.sales_server_ftp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SALES_SERVER_FTP" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SALES_SERVER_FTP_DESC" />
<action name="joomla_component.edit.addadmin_views" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS_DESC" />
<action name="joomla_component.edit.name" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_DESC" />
<action name="joomla_component.edit.addcustom_admin_views" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOM_ADMIN_VIEWS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOM_ADMIN_VIEWS_DESC" />
<action name="joomla_component.edit.export_key" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_KEY" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_KEY_DESC" />
<action name="joomla_component.edit.addsite_views" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDSITE_VIEWS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDSITE_VIEWS_DESC" />
<action name="joomla_component.edit.export_buy_link" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_BUY_LINK" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_BUY_LINK_DESC" />
<action name="joomla_component.edit.adduikit" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDUIKIT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDUIKIT_DESC" />
<action name="joomla_component.edit.add_css" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_CSS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_CSS_DESC" />
<action name="joomla_component.edit.sql_tweak" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK_DESC" />
<action name="joomla_component.edit.add_email_helper" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_EMAIL_HELPER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_EMAIL_HELPER_DESC" />
<action name="joomla_component.edit.php_helper_both" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_BOTH" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_BOTH_DESC" />
<action name="joomla_component.edit.php_helper_admin" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_ADMIN" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_ADMIN_DESC" />
<action name="joomla_component.edit.addcustommenus" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS_DESC" />
<action name="joomla_component.edit.php_admin_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_ADMIN_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_ADMIN_EVENT_DESC" />
<action name="joomla_component.edit.php_helper_site" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_SITE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_SITE_DESC" />
<action name="joomla_component.edit.php_site_event" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_SITE_EVENT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_SITE_EVENT_DESC" />
<action name="joomla_component.edit.addconfig" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONFIG" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONFIG_DESC" />
<action name="joomla_component.edit.php_dashboard_methods" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_DASHBOARD_METHODS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_DASHBOARD_METHODS_DESC" />
<action name="joomla_component.edit.add_php_preflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.addcontributors" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS_DESC" />
<action name="joomla_component.edit.add_php_preflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.emptycontributors" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS_DESC" />
<action name="joomla_component.edit.add_php_postflight_install" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_INSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_INSTALL_DESC" />
<action name="joomla_component.edit.number" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER_DESC" />
<action name="joomla_component.edit.add_php_postflight_update" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_UPDATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_UPDATE_DESC" />
<action name="joomla_component.edit.add_php_method_uninstall" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_METHOD_UNINSTALL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_METHOD_UNINSTALL_DESC" />
<action name="joomla_component.edit.add_sql" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SQL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SQL_DESC" />
<action name="joomla_component.edit.addfiles" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES_DESC" />
<action name="joomla_component.edit.addreadme" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME_DESC" />
<action name="joomla_component.edit.update_server" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_DESC" />
<action name="joomla_component.edit.addfolders" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOLDERS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOLDERS_DESC" />
<action name="joomla_component.edit.add_sales_server" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SALES_SERVER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SALES_SERVER_DESC" />
<action name="joomla_component.edit.toignore" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_TOIGNORE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_TOIGNORE_DESC" />
<action name="joomla_component.edit.buildcompsql" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMPSQL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMPSQL_DESC" />
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
</section>
<section name="admin_view">
@ -158,6 +425,83 @@
<action name="core.create" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC" />
<action name="core.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.edit.system_name" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SYSTEM_NAME" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SYSTEM_NAME_DESC" />
<action name="admin_view.edit.name_single" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_SINGLE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_SINGLE_DESC" />
<action name="admin_view.edit.name_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_LIST_DESC" />
<action name="admin_view.edit.short_description" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="admin_view.edit.php_batchmove" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHMOVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHMOVE_DESC" />
<action name="admin_view.edit.type" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_TYPE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_TYPE_DESC" />
<action name="admin_view.edit.php_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_SAVE_DESC" />
<action name="admin_view.edit.description" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESCRIPTION_DESC" />
<action name="admin_view.edit.php_after_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_DELETE_DESC" />
<action name="admin_view.edit.add_fadein" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_FADEIN" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_FADEIN_DESC" />
<action name="admin_view.edit.icon" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_DESC" />
<action name="admin_view.edit.php_getlistquery" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETLISTQUERY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETLISTQUERY_DESC" />
<action name="admin_view.edit.icon_add" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_ADD" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_ADD_DESC" />
<action name="admin_view.edit.php_allowedit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_ALLOWEDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_ALLOWEDIT_DESC" />
<action name="admin_view.edit.icon_category" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_CATEGORY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_CATEGORY_DESC" />
<action name="admin_view.edit.php_after_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_PUBLISH_DESC" />
<action name="admin_view.edit.source" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SOURCE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SOURCE_DESC" />
<action name="admin_view.edit.php_getitems" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_DESC" />
<action name="admin_view.edit.php_import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DESC" />
<action name="admin_view.edit.addpermissions" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDPERMISSIONS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDPERMISSIONS_DESC" />
<action name="admin_view.edit.php_getitems_after_all" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_AFTER_ALL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_AFTER_ALL_DESC" />
<action name="admin_view.edit.addtabs" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABS_DESC" />
<action name="admin_view.edit.php_before_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_SAVE_DESC" />
<action name="admin_view.edit.php_postsavehook" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_POSTSAVEHOOK" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_POSTSAVEHOOK_DESC" />
<action name="admin_view.edit.addfields" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDFIELDS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDFIELDS_DESC" />
<action name="admin_view.edit.php_batchcopy" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHCOPY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHCOPY_DESC" />
<action name="admin_view.edit.php_before_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_PUBLISH_DESC" />
<action name="admin_view.edit.addconditions" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDCONDITIONS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDCONDITIONS_DESC" />
<action name="admin_view.edit.php_before_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_DELETE_DESC" />
<action name="admin_view.edit.addlinked_views" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDLINKED_VIEWS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDLINKED_VIEWS_DESC" />
<action name="admin_view.edit.php_document" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_DOCUMENT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_DOCUMENT_DESC" />
<action name="admin_view.edit.sql" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SQL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SQL_DESC" />
<action name="admin_view.edit.php_import_display" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DISPLAY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DISPLAY_DESC" />
<action name="admin_view.edit.php_getitem" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEM" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEM_DESC" />
<action name="admin_view.edit.php_import_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SAVE_DESC" />
<action name="admin_view.edit.add_css_view" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEW" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEW_DESC" />
<action name="admin_view.edit.css_view" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEW" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEW_DESC" />
<action name="admin_view.edit.add_php_getitems" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_DESC" />
<action name="admin_view.edit.add_css_views" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEWS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEWS_DESC" />
<action name="admin_view.edit.add_php_getitems_after_all" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_AFTER_ALL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_AFTER_ALL_DESC" />
<action name="admin_view.edit.css_views" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEWS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEWS_DESC" />
<action name="admin_view.edit.add_php_getlistquery" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETLISTQUERY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETLISTQUERY_DESC" />
<action name="admin_view.edit.add_javascript_view_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FILE_DESC" />
<action name="admin_view.edit.add_php_before_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_SAVE_DESC" />
<action name="admin_view.edit.javascript_view_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FILE_DESC" />
<action name="admin_view.edit.add_php_save" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_SAVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_SAVE_DESC" />
<action name="admin_view.edit.add_javascript_view_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FOOTER_DESC" />
<action name="admin_view.edit.add_php_postsavehook" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_POSTSAVEHOOK" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_POSTSAVEHOOK_DESC" />
<action name="admin_view.edit.javascript_view_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FOOTER_DESC" />
<action name="admin_view.edit.add_php_allowedit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_ALLOWEDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_ALLOWEDIT_DESC" />
<action name="admin_view.edit.add_javascript_views_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FILE_DESC" />
<action name="admin_view.edit.add_php_batchcopy" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHCOPY" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHCOPY_DESC" />
<action name="admin_view.edit.javascript_views_file" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FILE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FILE_DESC" />
<action name="admin_view.edit.add_php_batchmove" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHMOVE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHMOVE_DESC" />
<action name="admin_view.edit.add_javascript_views_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FOOTER_DESC" />
<action name="admin_view.edit.add_php_before_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_PUBLISH_DESC" />
<action name="admin_view.edit.javascript_views_footer" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FOOTER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FOOTER_DESC" />
<action name="admin_view.edit.add_php_after_publish" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_PUBLISH" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_PUBLISH_DESC" />
<action name="admin_view.edit.add_custom_button" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_BUTTON" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_BUTTON_DESC" />
<action name="admin_view.edit.add_php_before_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_DELETE_DESC" />
<action name="admin_view.edit.custom_button" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CUSTOM_BUTTON" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CUSTOM_BUTTON_DESC" />
<action name="admin_view.edit.add_php_after_delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_DELETE_DESC" />
<action name="admin_view.edit.php_controller" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_DESC" />
<action name="admin_view.edit.add_php_document" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_DOCUMENT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_DOCUMENT_DESC" />
<action name="admin_view.edit.php_model" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_DESC" />
<action name="admin_view.edit.add_sql" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_SQL" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_SQL_DESC" />
<action name="admin_view.edit.php_controller_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_LIST_DESC" />
<action name="admin_view.edit.addtables" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABLES" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABLES_DESC" />
<action name="admin_view.edit.php_model_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_LIST_DESC" />
<action name="admin_view.edit.add_php_ajax" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AJAX" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AJAX_DESC" />
<action name="admin_view.edit.add_custom_import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_IMPORT_DESC" />
<action name="admin_view.edit.php_ajaxmethod" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AJAXMETHOD" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AJAXMETHOD_DESC" />
<action name="admin_view.edit.html_import_view" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_HTML_IMPORT_VIEW" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_HTML_IMPORT_VIEW_DESC" />
<action name="admin_view.edit.ajax_input" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_AJAX_INPUT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_AJAX_INPUT_DESC" />
<action name="admin_view.edit.php_import_setdata" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SETDATA" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SETDATA_DESC" />
<action name="admin_view.edit.add_php_getitem" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEM" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEM_DESC" />
<action name="admin_view.edit.php_import_ext" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_EXT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_EXT_DESC" />
<action name="admin_view.version" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC" />
</section>
<section name="custom_admin_view">
@ -243,6 +587,37 @@
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
</section>
<section name="language_translation">
<action name="language_translation.edit" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_DESC" />
<action name="language_translation.edit.own" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN_DESC" />
<action name="language_translation.edit.state" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE_DESC" />
<action name="language_translation.create" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE_DESC" />
<action name="language_translation.delete" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE_DESC" />
<action name="language_translation.access" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS_DESC" />
<action name="language_translation.version" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION_DESC" />
</section>
<section name="language">
<action name="language.edit" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_DESC" />
<action name="language.edit.own" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN_DESC" />
<action name="language.edit.state" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE_DESC" />
<action name="language.create" title="COM_COMPONENTBUILDER_LANGUAGES_CREATE" description="COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC" />
<action name="language.delete" title="COM_COMPONENTBUILDER_LANGUAGES_DELETE" description="COM_COMPONENTBUILDER_LANGUAGES_DELETE_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" />
</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">
<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" />

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin.css

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 109 of this MVC
@build 31st March, 2017
@version @update number 114 of this MVC
@build 28th August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin_view.css

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 109 of this MVC
@build 31st March, 2017
@version @update number 114 of this MVC
@build 28th August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin_views.css

View File

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

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC
@build 1st March, 2017
@build 17th July, 2017
@created 13th August, 2015
@package Component Builder
@subpackage custom_admin_view.css

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC
@build 1st March, 2017
@build 17th July, 2017
@created 13th August, 2015
@package Component Builder
@subpackage custom_admin_views.css

View File

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

View File

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

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage dashboard.css

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 81 of this MVC
@build 15th January, 2017
@version @update number 84 of this MVC
@build 4th May, 2017
@created 21st May, 2015
@package Component Builder
@subpackage dynamic_get.css

View File

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

View File

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

View File

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

View File

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

View File

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

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

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 10 of this MVC
@build 24th August, 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 10 of this MVC
@build 24th August, 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

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 311 of this MVC
@build 1st April, 2017
@version @update number 366 of this MVC
@build 7th September, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_component.css

View File

@ -9,8 +9,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 311 of this MVC
@build 1st April, 2017
@version @update number 366 of this MVC
@build 7th September, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_components.css

View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 3 of this MVC
@build 3rd April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage language.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 39 of this MVC
@build 7th April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage language_translation.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 39 of this MVC
@build 7th April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage language_translations.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 3 of this MVC
@build 3rd April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage languages.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 67 of this MVC
@build 1st April, 2017
@version @update number 77 of this MVC
@build 30th May, 2017
@created 18th May, 2015
@package Component Builder
@subpackage layout.css

View File

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

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC
@build 6th March, 2017
@build 17th July, 2017
@created 29th May, 2015
@package Component Builder
@subpackage site_view.css

View File

@ -10,7 +10,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC
@build 6th March, 2017
@build 17th July, 2017
@created 29th May, 2015
@package Component Builder
@subpackage site_views.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: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -52,7 +52,10 @@ class ###Component###View###Component### extends JViewLegacy
// Assign data to the view
$this->icons = $this->get('Icons');
$this->contributors = ###Component###Helper::getContributors();###DASH_GET_CUSTOM_DATA###
// get the manifest details of the component
$this->manifest = ###Component###Helper::manifest();
// Set the toolbar
$this->addToolBar();
@ -87,15 +90,19 @@ class ###Component###View###Component### extends JViewLegacy
/**
* Method to set up the document properties
*
*
* @return void
*/
protected function setDocument()
{
$document = JFactory::getDocument();
// add dashboard style sheets
$document->addStyleSheet(JURI::root() . "administrator/components/com_###component###/assets/css/dashboard.css");
// set page title
$document->setTitle(JText::_('COM_###COMPONENT###_DASHBOARD'));
// add manifest to page JavaScript
$document->addScriptDeclaration("var manifest = jQuery.parseJSON('" . json_encode($this->manifest) . "');", "text/javascript");
}
}

View File

@ -157,7 +157,14 @@ abstract class ###Component###Helper
$query = $db->getQuery(true);
$query->select($db->quoteName(array($what)));
$query->from($db->quoteName('#_'.$main.'_'.$table));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query);
$db->execute();
@ -440,12 +447,20 @@ abstract class ###Component###Helper
**/
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
JLoader::import( $name, $path . '/models' );
// return instance
return JModelLegacy::getInstance( $name, $component.'Model' );
JModelLegacy::addIncludePath( $path . '/models' );
// get instance
$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,10 +667,16 @@ abstract class ###Component###Helper
return false;
}
// typo sorry!
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))
{
{
$initial = strlen($string);
$words = preg_split('/([\s\n\r]+)/', $string, null, PREG_SPLIT_DELIM_CAPTURE);
$words_count = count($words);
@ -675,7 +696,7 @@ abstract class ###Component###Helper
$final = strlen($newString);
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>';
}
elseif ($initial != $final && !$addTip)
@ -706,7 +727,8 @@ abstract class ###Component###Helper
// If you don't need to handle multi-byte characters
// you can use preg_replace rather than mb_ereg_replace
// Thanks @Łukasz Rysiak!
$string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
// $string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
$string = preg_replace("([^\w\s\d\-_\(\)])", '', $string);
// http://stackoverflow.com/a/2021729/1429677
return preg_replace('/\s+/', ' ', $string);
}
@ -773,15 +795,15 @@ abstract class ###Component###Helper
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))
{
$filter = new JFilterInput();
$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;
}

View File

@ -114,6 +114,8 @@ abstract class ###Component###Email
$sendmail = $globalConf->get('sendmail');
$mailfrom = $globalConf->get('mailfrom');
$fromname = $globalConf->get('fromname');
$replyto = $globalConf->get('replyto');
$replytoname = $globalConf->get('replytoname');
}
else
{
@ -126,15 +128,15 @@ abstract class ###Component###Email
$sendmail = $conf->get('sendmail');
$mailfrom = $conf->get('mailfrom');
$fromname = $conf->get('fromname');
$mailreply = $conf->get('mailreply');
$replyname = $conf->get('replyname');
$replyto = $conf->get('replyto');
$replytoname = $conf->get('replytoname');
}
// set the global reply-to
if ($mailreply && $fromname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $mailreply, $replyname ) );
}
// set the global reply-to if found
if ($replyto && $replytoname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $replyto, $replytoname ) );
}
// Set global sender
@ -276,4 +278,74 @@ abstract class ###Component###Email
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###')
{
// load some joomla helpers
JLoader::import('joomla.application.component.model');
// full path
$fullPath = $path . '/models';
// load the model file
JLoader::import( $name, $path . '/models' );
// return instance
return JModelLegacy::getInstance( $name, $component.'Model' );
JModelLegacy::addIncludePath($fullPath);
// get instance
$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->select($db->quoteName(array($what)));
$query->from($db->quoteName('#_'.$main.'_'.$table));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query);
$db->execute();
@ -644,7 +662,13 @@ abstract class ###Component###Helper
return false;
}
// typo sorry!
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))
{
@ -667,7 +691,7 @@ abstract class ###Component###Helper
$final = strlen($newString);
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>';
}
elseif ($initial != $final && !$addTip)
@ -698,7 +722,8 @@ abstract class ###Component###Helper
// If you don't need to handle multi-byte characters
// you can use preg_replace rather than mb_ereg_replace
// Thanks @Łukasz Rysiak!
$string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
// $string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
$string = preg_replace("([^\w\s\d\-_\(\)])", '', $string);
// http://stackoverflow.com/a/2021729/1429677
return preg_replace('/\s+/', ' ', $string);
}
@ -765,15 +790,15 @@ abstract class ###Component###Helper
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))
{
$filter = new JFilterInput();
$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;
}

View File

@ -142,7 +142,7 @@ class ###Component###View###Views### extends JViewLegacy
{
JToolbarHelper::trash('###views###.trash');
}###EXPORTBUTTON###
}###IMPORTBUTTON###
}###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST### ###IMPORTBUTTON###
// set help url for this view if found
$help_url = ###Component###Helper::getHelpUrl('###views###');

View File

@ -60,8 +60,7 @@
</files>
<languages folder="site">
<language tag="en-GB">language/en-GB/en-GB.com_###component###.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_###component###.sys.ini</language>
###SITE_LANGUAGES###
</languages>
<administration>
@ -86,8 +85,7 @@
</files>
<languages folder="admin">
<language tag="en-GB">language/en-GB/en-GB.com_###component###.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_###component###.sys.ini</language>
###ADMIN_LANGUAGES###
</languages>
</administration>###UPDATESERVER###

View File

@ -29,30 +29,27 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$manifest = ###Component###Helper::manifest();
JHtml::_('bootstrap.loadCss');
?>
<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">
<li><b><?php echo JText::_('COM_###COMPONENT###_VERSION'); ?>:</b> <?php echo $manifest->version; ?></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_DATE'); ?>:</b> <?php echo $manifest->creationDate; ?></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_AUTHOR'); ?>:</b> <a href="mailto:<?php echo $manifest->authorEmail; ?>"><?php echo $manifest->author; ?></a></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_WEBSITE'); ?>:</b> <a href="<?php echo $manifest->authorUrl; ?>" target="_blank"><?php echo $manifest->authorUrl; ?></a></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_LICENSE'); ?>:</b> <?php echo $manifest->license; ?></li>
<li><b><?php echo $manifest->copyright; ?></b></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###_AUTHOR'); ?>:</b> <a href="mailto:<?php echo $this->manifest->authorEmail; ?>"><?php echo $this->manifest->author; ?></a></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_WEBSITE'); ?>:</b> <a href="<?php echo $this->manifest->authorUrl; ?>" target="_blank"><?php echo $this->manifest->authorUrl; ?></a></li>
<li><b><?php echo JText::_('COM_###COMPONENT###_LICENSE'); ?>:</b> <?php echo $this->manifest->license; ?></li>
<li><b><?php echo $this->manifest->copyright; ?></b></li>
</ul>
<div class="clearfix"></div>
<?php if(###Component###Helper::checkArray($this->contributors)): ?>
<?php if(count($this->contributors) > 1): ?>
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTORS'); ?></h3>
<?php else: ?>
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTOR'); ?></h3>
<?php endif; ?>
<ul class="list-striped">
<?php foreach($this->contributors as $contributor): ?>
<li><b><?php echo $contributor['title']; ?>:</b> <?php echo $contributor['name']; ?></li>
<?php endforeach; ?>
</ul>
<div class="clearfix"></div>
<?php if(count($this->contributors) > 1): ?>
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTORS'); ?></h3>
<?php else: ?>
<h3><?php echo JText::_('COM_###COMPONENT###_CONTRIBUTOR'); ?></h3>
<?php endif; ?>
<ul class="list-striped">
<?php foreach($this->contributors as $contributor): ?>
<li><b><?php echo $contributor['title']; ?>:</b> <?php echo $contributor['name']; ?></li>
<?php endforeach; ?>
</ul>
<div class="clearfix"></div>
<?php endif; ?>

View File

@ -29,7 +29,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
class HeaderCheck
class ###component###HeaderCheck
{
function js_loaded($script_name)
{

View File

@ -29,7 +29,7 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
class HeaderCheck
class ###component###HeaderCheck
{
function js_loaded($script_name)
{

View File

@ -170,18 +170,6 @@
"rename": false,
"type": "file"
},
"en-GB.com_admin.ini": {
"naam":"en-GB.com_admin.ini",
"path": "c0mp0n3nt/admin/language/en-GB",
"rename": "admin",
"type": "file"
},
"en-GB.com_admin.sys.ini": {
"naam":"en-GB.com_admin.sys.ini",
"path": "c0mp0n3nt/admin/language/en-GB",
"rename": "admin",
"type": "file"
},
"install.mysql.utf8.sql": {
"naam":"install.mysql.utf8.sql",
"path": "c0mp0n3nt/admin/sql",
@ -219,18 +207,6 @@
"rename": false,
"type": "file"
},
"en-GB.com_site.ini": {
"naam":"en-GB.com_site.ini",
"path": "c0mp0n3nt/site/language/en-GB",
"rename": "site",
"type": "file"
},
"en-GB.com_site.sys.ini": {
"naam":"en-GB.com_site.sys.ini",
"path": "c0mp0n3nt/site/language/en-GB",
"rename": "site",
"type": "file"
},
"headercheck.php": {
"naam":"headercheck.php",
"path": "c0mp0n3nt/site/helpers",

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php
@ -43,8 +43,12 @@ $document->addStyleSheet('components/com_componentbuilder/assets/css/admin.css')
$document->addScript('components/com_componentbuilder/assets/js/admin.js');
// require helper files
JLoader::register('ComponentbuilderHelper', dirname(__FILE__) . '/helpers/componentbuilder.php');
JLoader::register('JHtmlBatch_', dirname(__FILE__) . '/helpers/html/batch_.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');
// Triger the Global Admin Event
ComponentbuilderHelper::globalEvent($document);
// import joomla controller library
jimport('joomla.application.component.controller');

View File

@ -61,8 +61,30 @@
<option value="0">
COM_COMPONENTBUILDER_CONFIG_NO</option>
</field>
<!-- Percentagelanguageadd Field. Type: Number. (joomla) -->
<field
type="number"
name="percentagelanguageadd"
label="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_LABEL"
default="50"
description="COM_COMPONENTBUILDER_CONFIG_PERCENTAGELANGUAGEADD_DESCRIPTION"
class="text_area"
required="true"
min="10"
max="100"
step="10"
/>
<!-- 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"
type="spacer"
label="COM_COMPONENTBUILDER_CONFIG_AUTHOR"
@ -133,6 +155,340 @@
COM_COMPONENTBUILDER_CONFIG_GRADIANT_LOAD</option>"
</field>
</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
name="encryption_config"
label="COM_COMPONENTBUILDER_CONFIG_ENCRYPTION_LABEL"
@ -146,6 +502,62 @@
default=""
/>
</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
name="folder_paths_custom_config"
label="COM_COMPONENTBUILDER_CONFIG_FOLDER_PATHS">
@ -331,47 +743,6 @@
validated="url"
message="Error! Please add link here."
hint="COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_HINT"
/>
<!-- Export_buy_query Field. Type: Text. (joomla) -->
<field
type="text"
name="export_buy_query"
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_QUERY_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_QUERY_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please email address here."
hint="COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_QUERY_HINT"
/>
<!-- Export_package_link Field. Type: Url. (joomla) -->
<field
type="url"
name="export_package_link"
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_PACKAGE_LINK_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_PACKAGE_LINK_DESCRIPTION"
class="text_area"
required="false"
filter="url"
validated="url"
message="Error! Please add link here."
hint="COM_COMPONENTBUILDER_CONFIG_EXPORT_PACKAGE_LINK_HINT"
/>
<!-- Export_package_query Field. Type: Text. (joomla) -->
<field
type="text"
name="export_package_query"
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_PACKAGE_QUERY_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_PACKAGE_QUERY_DESCRIPTION"
class="text_area"
filter="STRING"
message="Error! Please email address here."
hint="COM_COMPONENTBUILDER_CONFIG_EXPORT_PACKAGE_QUERY_HINT"
/>
</fieldset>
<fieldset

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage controller.php
@ -99,6 +99,9 @@ class ComponentbuilderController extends JControllerLegacy
'snippet' => 'snippets',
'field' => 'fields',
'fieldtype' => 'fieldtypes',
'language_translation' => 'language_translations',
'language' => 'languages',
'ftp' => 'ftps',
'help_document' => 'help_documents'
);
// check if this is a list view

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 109 of this MVC
@build 31st March, 2017
@version @update number 114 of this MVC
@build 28th August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin_view.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 109 of this MVC
@build 31st March, 2017
@version @update number 114 of this MVC
@build 28th August, 2017
@created 30th April, 2015
@package Component Builder
@subpackage admin_views.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage ajax.json.php
@ -45,6 +45,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
$this->registerTask('isNew', 'ajax');
$this->registerTask('isRead', 'ajax');
$this->registerTask('getComponentDetails', 'ajax');
$this->registerTask('getCronPath', 'ajax');
$this->registerTask('tableColumns', 'ajax');
$this->registerTask('fieldSelectOptions', 'ajax');
$this->registerTask('getImportScripts', 'ajax');
@ -57,7 +58,9 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
$this->registerTask('viewTableColumns', 'ajax');
$this->registerTask('checkFunctionName', 'ajax');
$this->registerTask('usedin', 'ajax');
$this->registerTask('fieldOptions', 'ajax');
$this->registerTask('fieldOptions', 'ajax');
$this->registerTask('getBuildTable', 'ajax');
$this->registerTask('getButton', 'ajax');
}
public function ajax()
@ -186,6 +189,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
}
}
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':
try
{
@ -687,6 +728,83 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
echo "(".json_encode($e).");";
}
}
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;
}
}

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 47 of this MVC
@build 21st March, 2017
@version @update number 53 of this MVC
@build 5th August, 2017
@created 1st February, 2017
@package Component Builder
@subpackage compiler.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC
@build 1st March, 2017
@build 17th July, 2017
@created 13th August, 2015
@package Component Builder
@subpackage custom_admin_view.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 22 of this MVC
@build 1st March, 2017
@build 17th July, 2017
@created 13th August, 2015
@package Component Builder
@subpackage custom_admin_views.php

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

@ -0,0 +1,326 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 10 of this MVC
@build 24th August, 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 10 of this MVC
@build 24th August, 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.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage help.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage import_joomla_components.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 311 of this MVC
@build 1st April, 2017
@version @update number 366 of this MVC
@build 7th September, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_component.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 311 of this MVC
@build 1st April, 2017
@version @update number 366 of this MVC
@build 7th September, 2017
@created 6th May, 2015
@package Component Builder
@subpackage joomla_components.php
@ -114,8 +114,8 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
// 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('joomla_component.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder'))
$model->user = JFactory::getUser();
if ($model->user->authorise('joomla_component.import', 'com_componentbuilder') && $model->user->authorise('core.import', 'com_componentbuilder'))
{
$session = JFactory::getSession();
$session->set('backto_VDM_IMPORT', 'joomla_components');
@ -135,9 +135,11 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// Get the model
$model = $this->getModel('Joomla_components');
// check if export is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('joomla_component.export', 'com_componentbuilder') && $user->authorise('core.export', 'com_componentbuilder'))
$model->user = JFactory::getUser();
if ($model->user->authorise('joomla_component.export', 'com_componentbuilder') && $model->user->authorise('core.export', 'com_componentbuilder'))
{
// Get the 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');
return;
}
// Get the model
$model = $this->getModel('Joomla_components');
// set auto loader
ComponentbuilderHelper::autoLoader('smart');
// 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');
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

@ -0,0 +1,326 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 3 of this MVC
@build 3rd April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage language.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');
/**
* Language Controller
*/
class ComponentbuilderControllerLanguage 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 = 'Languages'; // 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('language.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return JFactory::getUser()->authorise('language.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('language.access', 'com_componentbuilder.language.' . (int) $recordId) && $user->authorise('language.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('language.edit', 'com_componentbuilder.language.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('language.edit.own', 'com_componentbuilder.language.' . $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('language.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('language.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('Language', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=languages' . $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 39 of this MVC
@build 7th April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage language_translation.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');
/**
* Language_translation Controller
*/
class ComponentbuilderControllerLanguage_translation 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 = 'Language_translations'; // 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('language_translation.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return JFactory::getUser()->authorise('language_translation.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('language_translation.access', 'com_componentbuilder.language_translation.' . (int) $recordId) && $user->authorise('language_translation.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('language_translation.edit', 'com_componentbuilder.language_translation.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('language_translation.edit.own', 'com_componentbuilder.language_translation.' . $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('language_translation.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('language_translation.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('Language_translation', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=language_translations' . $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,111 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 39 of this MVC
@build 7th April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage language_translations.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');
/**
* Language_translations Controller
*/
class ComponentbuilderControllerLanguage_translations extends JControllerAdmin
{
protected $text_prefix = 'COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS';
/**
* Proxy for getModel.
* @since 2.5
*/
public function getModel($name = 'Language_translation', $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('language_translation.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('Language_translations');
// 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,'Language_translations_'.$date->format('jS_F_Y'),'Language translations exported ('.$date->format('jS F, Y').')','language translations');
}
}
// Redirect to the list screen with error.
$message = JText::_('COM_COMPONENTBUILDER_EXPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=language_translations', 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('language_translation.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder'))
{
// Get the import model
$model = $this->getModel('Language_translations');
// 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('language_translation_VDM_IMPORTHEADERS', $headers);
$session->set('backto_VDM_IMPORT', 'language_translations');
$session->set('dataType_VDM_IMPORTINTO', 'language_translation');
// Redirect to import view.
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE_FOR_LANGUAGE_TRANSLATIONS');
$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=language_translations', false), $message, 'error');
return;
}
}

View File

@ -0,0 +1,111 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 3 of this MVC
@build 3rd April, 2017
@created 3rd April, 2017
@package Component Builder
@subpackage languages.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');
/**
* Languages Controller
*/
class ComponentbuilderControllerLanguages extends JControllerAdmin
{
protected $text_prefix = 'COM_COMPONENTBUILDER_LANGUAGES';
/**
* Proxy for getModel.
* @since 2.5
*/
public function getModel($name = 'Language', $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('language.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('Languages');
// 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,'Languages_'.$date->format('jS_F_Y'),'Languages exported ('.$date->format('jS F, Y').')','languages');
}
}
// Redirect to the list screen with error.
$message = JText::_('COM_COMPONENTBUILDER_EXPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=languages', 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('language.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder'))
{
// Get the import model
$model = $this->getModel('Languages');
// 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('language_VDM_IMPORTHEADERS', $headers);
$session->set('backto_VDM_IMPORT', 'languages');
$session->set('dataType_VDM_IMPORTINTO', 'language');
// Redirect to import view.
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE_FOR_LANGUAGES');
$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=languages', false), $message, 'error');
return;
}
}

View File

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

View File

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

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC
@build 6th March, 2017
@build 17th July, 2017
@created 29th May, 2015
@package Component Builder
@subpackage site_view.php

View File

@ -11,7 +11,7 @@
/-------------------------------------------------------------------------------------------------------------------------------/
@version @update number 51 of this MVC
@build 6th March, 2017
@build 17th July, 2017
@created 29th May, 2015
@package Component Builder
@subpackage site_views.php

232
admin/custom/timeago.js Normal file
View File

@ -0,0 +1,232 @@
/**
* Timeago is a jQuery plugin that makes it easy to support automatically
* updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
*
* @name timeago
* @version 1.5.4
* @requires jQuery v1.2.3+
* @author Ryan McGeary
* @license MIT License - http://www.opensource.org/licenses/mit-license.php
*
* For usage and examples, visit:
* http://timeago.yarp.com/
*
* Copyright (c) 2008-2017, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof module === 'object' && typeof module.exports === 'object') {
factory(require('jquery'));
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
$.timeago = function(timestamp) {
if (timestamp instanceof Date) {
return inWords(timestamp);
} else if (typeof timestamp === "string") {
return inWords($.timeago.parse(timestamp));
} else if (typeof timestamp === "number") {
return inWords(new Date(timestamp));
} else {
return inWords($.timeago.datetime(timestamp));
}
};
var $t = $.timeago;
$.extend($.timeago, {
settings: {
refreshMillis: 60000,
allowPast: true,
allowFuture: false,
localeTitle: false,
cutoff: 0,
autoDispose: true,
strings: {
prefixAgo: null,
prefixFromNow: null,
suffixAgo: "ago",
suffixFromNow: "from now",
inPast: 'any moment now',
seconds: "less than a minute",
minute: "about a minute",
minutes: "%d minutes",
hour: "about an hour",
hours: "about %d hours",
day: "a day",
days: "%d days",
month: "about a month",
months: "%d months",
year: "about a year",
years: "%d years",
wordSeparator: " ",
numbers: []
}
},
inWords: function(distanceMillis) {
if (!this.settings.allowPast && ! this.settings.allowFuture) {
throw 'timeago allowPast and allowFuture settings can not both be set to false.';
}
var $l = this.settings.strings;
var prefix = $l.prefixAgo;
var suffix = $l.suffixAgo;
if (this.settings.allowFuture) {
if (distanceMillis < 0) {
prefix = $l.prefixFromNow;
suffix = $l.suffixFromNow;
}
}
if (!this.settings.allowPast && distanceMillis >= 0) {
return this.settings.strings.inPast;
}
var seconds = Math.abs(distanceMillis) / 1000;
var minutes = seconds / 60;
var hours = minutes / 60;
var days = hours / 24;
var years = days / 365;
function substitute(stringOrFunction, number) {
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
var value = ($l.numbers && $l.numbers[number]) || number;
return string.replace(/%d/i, value);
}
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
seconds < 90 && substitute($l.minute, 1) ||
minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
minutes < 90 && substitute($l.hour, 1) ||
hours < 24 && substitute($l.hours, Math.round(hours)) ||
hours < 42 && substitute($l.day, 1) ||
days < 30 && substitute($l.days, Math.round(days)) ||
days < 45 && substitute($l.month, 1) ||
days < 365 && substitute($l.months, Math.round(days / 30)) ||
years < 1.5 && substitute($l.year, 1) ||
substitute($l.years, Math.round(years));
var separator = $l.wordSeparator || "";
if ($l.wordSeparator === undefined) { separator = " "; }
return $.trim([prefix, words, suffix].join(separator));
},
parse: function(iso8601) {
var s = $.trim(iso8601);
s = s.replace(/\.\d+/,""); // remove milliseconds
s = s.replace(/-/,"/").replace(/-/,"/");
s = s.replace(/T/," ").replace(/Z/," UTC");
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
s = s.replace(/([\+\-]\d\d)$/," $100"); // +09 -> +0900
return new Date(s);
},
datetime: function(elem) {
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
return $t.parse(iso8601);
},
isTime: function(elem) {
// jQuery's `is()` doesn't play well with HTML5 in IE
return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
}
});
// functions that can be called via $(el).timeago('action')
// init is default when no action is given
// functions are called with context of a single element
var functions = {
init: function() {
functions.dispose.call(this);
var refresh_el = $.proxy(refresh, this);
refresh_el();
var $s = $t.settings;
if ($s.refreshMillis > 0) {
this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis);
}
},
update: function(timestamp) {
var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp);
$(this).data('timeago', { datetime: date });
if ($t.settings.localeTitle) {
$(this).attr("title", date.toLocaleString());
}
refresh.apply(this);
},
updateFromDOM: function() {
$(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) });
refresh.apply(this);
},
dispose: function () {
if (this._timeagoInterval) {
window.clearInterval(this._timeagoInterval);
this._timeagoInterval = null;
}
}
};
$.fn.timeago = function(action, options) {
var fn = action ? functions[action] : functions.init;
if (!fn) {
throw new Error("Unknown function name '"+ action +"' for timeago");
}
// each over objects here and call the requested function
this.each(function() {
fn.call(this, options);
});
return this;
};
function refresh() {
var $s = $t.settings;
//check if it's still visible
if ($s.autoDispose && !$.contains(document.documentElement,this)) {
//stop if it has been removed
$(this).timeago("dispose");
return this;
}
var data = prepareData(this);
if (!isNaN(data.datetime)) {
if ( $s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) {
$(this).text(inWords(data.datetime));
} else {
if ($(this).attr('title').length > 0) {
$(this).text($(this).attr('title'));
}
}
}
return this;
}
function prepareData(element) {
element = $(element);
if (!element.data("timeago")) {
element.data("timeago", { datetime: $t.datetime(element) });
var text = $.trim(element.text());
if ($t.settings.localeTitle) {
element.attr("title", element.data('timeago').datetime.toLocaleString());
} else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
element.attr("title", text);
}
}
return element.data("timeago");
}
function inWords(date) {
return $t.inWords(distance(date));
}
function distance(date) {
return (new Date().getTime() - date.getTime());
}
// fix for IE6 suckage
document.createElement("abbr");
document.createElement("time");
}));

View File

@ -136,7 +136,7 @@ class Compiler extends Infusion
*/
private function setLine($nr)
{
if ($this->loadLineNr)
if ($this->debugLinenr)
{
return ' [Compiler '.$nr.']';
}
@ -152,9 +152,7 @@ class Compiler extends Infusion
protected function updateFiles()
{
if (isset($this->newFiles['static']) && ComponentbuilderHelper::checkArray($this->newFiles['static']) && isset($this->newFiles['dynamic']) && ComponentbuilderHelper::checkArray($this->newFiles['dynamic']))
{
// we don't update lang now since we will still posible add custom code
$langCheck = 'en-GB.com_'.$this->fileContentStatic['###component###'].'.';
{
// get the bom file
$bom = file_get_contents($this->bomPath);
// first we do the static files
@ -162,12 +160,6 @@ class Compiler extends Infusion
{
if (JFile::exists($static['path']))
{
// skip lang files and store for later
if (strpos($static['path'], $langCheck))
{
$this->langFiles[] = $static;
continue;
}
$this->fileContentStatic['###FILENAME###'] = $static['name'];
$php = '';
if (ComponentbuilderHelper::checkFileType($static['name'],'php'))
@ -252,7 +244,7 @@ class Compiler extends Infusion
protected function setUpdateServer()
{
// 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';
// make sure we have the correct file
@ -416,7 +408,7 @@ class Compiler extends Infusion
// set the git path
$this->gitPath = $this->gitPath.'/com_'.$this->componentData->sales_name.'__joomla_'.$this->joomlaVersion;
// remove old data
$this->removeFolder($this->gitPath,true);
$this->removeFolder($this->gitPath, $this->componentData->toignore);
// set the new data
JFolder::copy($this->componentPath, $this->gitPath, '', true);
}
@ -431,8 +423,9 @@ class Compiler extends Infusion
{
JFile::copy($this->filepath, $this->backupPath);
}
// 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
if (isset($this->componentData->sales_server_ftp))
@ -482,30 +475,31 @@ class Compiler extends Infusion
private function getFTP($clientInput)
{
$signature = md5($clientInput);
if (isset($this->FTP[$signature]) && $this->FTP[$signature] instanceof JClientFtp)
$s1GnAtnr3 = md5($clientInput);
if (isset($this->FTP[$s1GnAtnr3]) && $this->FTP[$s1GnAtnr3] instanceof JClientFtp)
{
return $this->FTP[$signature];
// return the FTP instance
return $this->FTP[$s1GnAtnr3];
}
else
{
// make sure we have a string and it is not default or empty
if (ComponentbuilderHelper::checkString($clientInput))
{
// turn into vars
parse_str($clientInput);
// turn into variables
parse_str($clientInput); // because of this I am using strand variable naming to avoid any collisions.
// set 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;
}
}
}
@ -517,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')
{
// load for reuse
$this->FTP[$signature] = JClientFtp::getInstance($host, $port, $options, $username, $password);
return $this->FTP[$signature];
$this->FTP[$s1GnAtnr3] = JClientFtp::getInstance($host, $port, $options, $username, $password);
// return the FTP instance
return $this->FTP[$s1GnAtnr3];
}
}
}

View File

@ -160,14 +160,21 @@ class Get
*
* @var boolean
*/
public $loadLineNr = false;
public $debugLinenr = false;
/*
* The percentage when a language should be added
*
* @var boolean
*/
public $percentageLanguageAdd = 0;
/**
* The Language prefix
* The Placholder Language prefix
*
* @var string
*/
public $langPrefix = 'COM_';
public $langPrefix;
/**
* The Language content
@ -176,6 +183,34 @@ class Get
*/
public $langContent = array();
/**
* The Languages bucket
*
* @var array
*/
public $languages = array('en-GB' => array());
/**
* The Multi Languages bucket
*
* @var array
*/
public $multiLangString = array();
/**
* The new lang to add
*
* @var array
*/
protected $newLangStrings = array();
/**
* The existing lang to update
*
* @var array
*/
protected $existingLangStrings = array();
/**
* The Component Code Name
*
@ -441,7 +476,20 @@ class Get
* @var array
*/
public $siteFields = array();
/**
* The add SQL
*
* @var array
*/
public $addSQL = array();
/**
* The update SQL
*
* @var array
*/
public $updateSQL = array();
/***
* Constructor
@ -460,7 +508,7 @@ class Get
if ($name_code = ComponentbuilderHelper::getVar('joomla_component', $this->componentID, 'id', 'name_code'))
{
// set lang prefix
$this->langPrefix .= ComponentbuilderHelper::safeString($name_code,'U');
$this->langPrefix = 'COM_'.ComponentbuilderHelper::safeString($name_code,'U');
// set component code name
$this->componentCodeName = ComponentbuilderHelper::safeString($name_code);
// set if placeholders should be added to customcode
@ -468,7 +516,7 @@ class Get
$this->addPlaceholders = ((int) $config['addPlaceholders'] == 0) ? false : (((int) $config['addPlaceholders'] == 1) ? true : $global);
// set if line numbers should be added to comments
$global = ((int) ComponentbuilderHelper::getVar('joomla_component', $this->componentID, 'id', 'debug_linenr') == 1) ? true:false;
$this->loadLineNr = ((int) $config['debugLinenr'] == 0) ? false : (((int) $config['debugLinenr'] == 1) ? true : $global);
$this->debugLinenr = ((int) $config['debugLinenr'] == 0) ? false : (((int) $config['debugLinenr'] == 1) ? true : $global);
// set the current user
$this->user = JFactory::getUser();
// Get a db connection.
@ -483,7 +531,30 @@ class Get
}
// get the component data
$this->componentData = $this->getComponentData();
// make sure we have a version
if (strpos($this->componentData->component_version, '.') === FALSE)
{
$this->componentData->component_version = '1.0.0';
}
// update the version
if (!isset($this->componentData->old_component_version)
&& (ComponentbuilderHelper::checkArray($this->addSQL) || ComponentbuilderHelper::checkArray($this->updateSQL)))
{
// set the new version
$version = (array) explode('.', $this->componentData->component_version);
// get last key
end($version);
$key = key($version);
// just increment the last
$version[$key]++;
// set the old version
$this->componentData->old_component_version = $this->componentData->component_version;
// set the new version, and set update switch
$this->componentData->component_version = implode('.', $version);
}
// set the percentage when a language can be added
$this->percentageLanguageAdd = (int) $this->params->get('percentagelanguageadd', 50);
return true;
}
}
@ -500,7 +571,7 @@ class Get
*/
private function setLine($nr)
{
if ($this->loadLineNr)
if ($this->debugLinenr)
{
return ' [Get '.$nr.']';
}
@ -554,6 +625,7 @@ class Get
}
unset($component->addfolders);
}
// ser the addfiles data
$addfiles = json_decode($component->addfiles,true);
if (ComponentbuilderHelper::checkArray($addfiles))
@ -620,6 +692,7 @@ class Get
// set the admin_view data
$admin_views = json_decode($component->addadmin_views,true);
if (ComponentbuilderHelper::checkArray($admin_views))
{
foreach ($admin_views as $option => $values)
@ -793,6 +866,25 @@ class Get
$component->version_update[$nr][$option] = $value;
}
}
}
// build update SQL
if ($old_component = $this->getHistoryWatch('joomla_component', $this->componentID))
{
// add new views if found
if (isset($old_component->addadmin_views) && ComponentbuilderHelper::checkJson($old_component->addadmin_views))
{
$this->setUpdateSQL(json_decode($old_component->addadmin_views, true), $admin_views, 'adminview');
}
// check if a new version was manualy set
$old_component_version = preg_replace('/[^0-9.]+/', '', $old_component->component_version);
if ($old_component_version != $this->component_version)
{
// yes, this is a new version, this mean there may be manual sql and must be checked and updated
$component->old_component_version = $old_component_version;
}
// clear this data
unset($old_component);
}
// add_css
@ -940,7 +1032,43 @@ class Get
$component->php_dashboard_methods = '';
$component->dashboard_tab = '';
}
// add the update FTP server sig
if ($component->add_update_server == 1 && is_numeric($component->update_server_ftp) && $component->update_server_ftp > 0)
{
$component->update_server_ftp = ComponentbuilderHelper::getVar('ftp', (int) $component->update_server_ftp, 'id', 'signature');
}
else
{
$component->update_server_ftp = 0;
}
// add the sales FTP server sig
if ($component->add_sales_server == 1 && is_numeric($component->sales_server_ftp) && $component->sales_server_ftp > 0)
{
$component->sales_server_ftp = ComponentbuilderHelper::getVar('ftp', (int) $component->sales_server_ftp, 'id', 'signature');
}
else
{
$component->sales_server_ftp = 0;
$component->add_sales_server = 0;
}
// set the ignore folders for git if found
if (isset($component->toignore) && ComponentbuilderHelper::checkString($component->toignore))
{
if (strpos($component->toignore, ',') !== false)
{
$component->toignore = array_map('trim', (array) explode(',', $component->toignore));
}
else
{
$component->toignore = array(trim($component->toignore));
}
}
else
{
// the default is to ignore the git folder
$component->toignore = array('.git');
}
// return the found component data
return $component;
}
@ -948,7 +1076,7 @@ class Get
/**
* To limit the SQL Demo date build in the views
*
* @param array $settings Teaking array.
* @param array $settings Tweaking array.
*
* @return void
*
@ -1069,6 +1197,22 @@ class Get
unset($view->addlinked_views);
$tables = json_decode($view->addtables,true);
unset($view->addtables);
// build update SQL
if ($old_view = $this->getHistoryWatch('admin_view', $id))
{
// add new fields were added
if (isset($old_view->addfields) && ComponentbuilderHelper::checkJson($old_view->addfields))
{
$this->setUpdateSQL(json_decode($old_view->addfields, true), $fields, 'field', $name_single);
}
// check if the view name changed
if (ComponentbuilderHelper::checkString($old_view->name_single))
{
$this->setUpdateSQL(ComponentbuilderHelper::safeString($old_view->name_single), $name_single, 'table_name', $name_single);
}
// clear this data
unset($old_view);
}
// sort the values
if (ComponentbuilderHelper::checkArray($tables))
{
@ -1268,7 +1412,7 @@ class Get
}
}
// add_php
$addArrayP = array('php_getitem','php_save','php_postsavehook','php_getitems','php_getitems_after_all','php_getlistquery','php_allowedit','php_before_delete','php_after_delete','php_before_publish','php_after_publish','php_batchcopy','php_batchmove','php_document');
$addArrayP = array('php_getitem','php_before_save','php_save','php_postsavehook','php_getitems','php_getitems_after_all','php_getlistquery','php_allowedit','php_before_delete','php_after_delete','php_before_publish','php_after_publish','php_batchcopy','php_batchmove','php_document');
foreach ($addArrayP as $scripter)
{
if (isset($view->{'add_'.$scripter}) && $view->{'add_'.$scripter} == 1)
@ -1380,19 +1524,20 @@ class Get
// add_sql
if ($view->add_sql == 1)
{
if ($view->source == 1)
if ($view->source == 1 && isset($view->tables))
{
// build and add the SQL dump
$this->customScriptBuilder['sql'][$name_single] = $this->buildSqlDump($view->tables,$name_single, $id);
unset($view->tables);
}
elseif ($view->source == 2)
elseif ($view->source == 2 && isset($view->sql))
{
// add the SQL dump string
$this->customScriptBuilder['sql'][$name_single] = base64_decode($view->sql);
unset($view->sql);
}
}
// store this view to class object
$this->_adminViewData[$id] = $view;
}
// return the found view data
@ -1652,6 +1797,9 @@ class Get
$this->basicEncryption = true;
}
// get the last used version
$field->history = $this->getHistoryWatch('field', $id);
$this->_fieldData[$id] = $field;
}
else
@ -2114,6 +2262,210 @@ class Get
return false;
}
/**
* check if an update SQL is needed
*
* @param mix $old The old values
* @param mix $new The new values
* @param string $type The type of values
* @param int $key The id/key where values changed
*
* @return void
*
*/
protected function setUpdateSQL($old, $new, $type, $key = null)
{
// check if there were new items added
if (isset($new[$type]) && ComponentbuilderHelper::checkArray($new[$type])
&& isset($old[$type]) && ComponentbuilderHelper::checkArray($old[$type]))
{
foreach ($new[$type] as $item)
{
if (!in_array($item, $old[$type]))
{
// we have a new item, lets add to SQL
if (!isset($this->addSQL[$type]) || !ComponentbuilderHelper::checkArray($this->addSQL[$type]))
{
$this->addSQL[$type] = array();
}
// add key if found
if ($key)
{
if (!isset($this->addSQL[$type][$key]) || !ComponentbuilderHelper::checkArray($this->addSQL[$type][$key]))
{
$this->addSQL[$type][$key] = array();
}
$this->addSQL[$type][$key][] = (int) $item;
}
else
{
// convert adminview id to name
if ('adminview' === $type)
{
$this->addSQL[$type][] = ComponentbuilderHelper::safeString($this->getAdminViewData($item)->name_single);
}
else
{
$this->addSQL[$type][] = (int) item;
}
}
}
}
}
elseif ($key && ComponentbuilderHelper::checkString($new)
&& ComponentbuilderHelper::checkString($old)
&& $new !== $old)
{
// the string changed, lets add to SQL update
if (!isset($this->updateSQL[$type]) || !ComponentbuilderHelper::checkArray($this->updateSQL[$type]))
{
$this->updateSQL[$type] = array();
}
// set at key
$this->updateSQL[$type][$key] = array('old' => $old, 'new' => $new);
}
}
/**
* Get Item History values
*
* @param string $type The type of item
* @param int $id The item ID
*
* @return oject The history
*
*/
protected function getHistoryWatch($type, $id)
{
// quick class object to store old history object
$this->tmpHistory = null;
// Create a new query object.
$query = $this->db->getQuery(true);
$query->select('h.*');
$query->from('#__ucm_history AS h');
$query->where($this->db->quoteName('h.ucm_item_id') . ' = '. (int) $id);
// Join over the content type for the type id
$query->join('LEFT', '#__content_types AS ct ON ct.type_id = h.ucm_type_id');
$query->where('ct.type_alias = ' . $this->db->quote('com_componentbuilder.'.$type));
$query->order('h.save_date DESC');
$this->db->setQuery($query, 0, 1);
$this->db->execute();
if ($this->db->getNumRows())
{
// new version of this item found
// so we need to mark it as the last compiled version
$newActive = $this->db->loadObject();
// set the new version watch
$this->setHistoryWatch($newActive, 1);
}
// Get last compiled verion
$query = $this->db->getQuery(true);
$query->select('h.*');
$query->from('#__ucm_history AS h');
$query->where($this->db->quoteName('h.ucm_item_id') . ' = ' . (int) $id);
$query->where('h.keep_forever = 1');
$query->where('h.version_note LIKE ' . $this->db->quote('%component%'));
// make sure it does not return the active version
if (isset($newActive) && isset($newActive->version_id))
{
$query->where('h.version_id != ' . (int) $newActive->version_id);
}
// Join over the content type for the type id
$query->join('LEFT', '#__content_types AS ct ON ct.type_id = h.ucm_type_id');
$query->where('ct.type_alias = ' . $this->db->quote('com_componentbuilder.'.$type));
$query->order('h.save_date DESC');
$this->db->setQuery($query);
$this->db->execute();
if ($this->db->getNumRows())
{
// the old active version was found
// so we may need to do an SQL update
// and unmark the old compiled version
$oldActives = $this->db->loadObjectList();
foreach ($oldActives as $oldActive)
{
// remove old version watch
$this->setHistoryWatch($oldActive, 0);
}
}
// return the last used history record or null.
return $this->tmpHistory;
}
/**
* Set Item History Watch
*
* @param Object $object The history object
* @param int $action The action to take
* 0 = remove watch
* 1 = add watch
* @param string $type The type of item
*
* @return bool
*
*/
protected function setHistoryWatch($object, $action)
{
// check the note
if (ComponentbuilderHelper::checkJson($object->version_note))
{
$version_note = json_decode($object->version_note, true);
}
else
{
$version_note = array('component' => array());
}
// set watch
switch ($action)
{
case 0:
// remove watch
if(isset($version_note['component']) && ($key = array_search($this->componentID, $version_note['component'])) !== false)
{
// last version that was used to build/compile
$this->tmpHistory = json_decode($object->version_data);
// remove it from this component
unset($version_note['component'][$key]);
}
else
{
// since it was not found, no need to update anything
return true;
}
break;
case 1:
// add watch
if (!in_array($this->componentID, $version_note['component']))
{
$version_note['component'][] = $this->componentID;
}
else
{
// since it is there already, no need to update anything
return true;
}
break;
}
// check if we need to still keep this locked
if (isset($version_note['component']) && ComponentbuilderHelper::checkArray($version_note['component']))
{
// insure component ids are only added once per item
$version_note['component'] = array_unique($version_note['component']);
// we may change this, little risky (but since JCB does not have history notes it should be okay for now)
$object->version_note = json_encode($version_note);
$object->keep_forever = '1';
}
else
{
$object->version_note = '';
$object->keep_forever = '0';
}
// run the update
return $this->db->updateObject('#__ucm_history', $object, 'version_id');
}
/**
* Set Template and Layout Data
*
@ -2910,7 +3262,7 @@ class Get
}
else
{
if (!$keyPlaceholder = array_search($item['id'], $this->functionNameMemory))
if (($keyPlaceholder = array_search($item['id'], $this->functionNameMemory)) === false)
{
$keyPlaceholder = $item['id'];
}
@ -2979,6 +3331,352 @@ class Get
unset($this->$remove);
}
/**
* Get the other languages
*
* @param array $values The lang strings to get
*
*
* @return void
*
*/
public function getMultiLangStrings($values)
{
// Create a new query object.
$query = $this->db->getQuery(true);
$query->from($this->db->quoteName('#__componentbuilder_language_translation','a'));
if (ComponentbuilderHelper::checkArray($values))
{
$query->select($this->db->quoteName(array('a.id','a.translation','a.entranslation','a.components','a.published')));
$query->where($this->db->quoteName('a.entranslation') . ' IN (' . implode(',',array_map(function($a){ return $this->db->quote($a); }, $values)) . ')');
$this->db->setQuery($query);
$this->db->execute();
if ($this->db->getNumRows())
{
return $this->db->loadAssocList('entranslation');
}
}
return false;
}
/**
* Set the Current language values to DB
*
*
* @return void
*
*/
public function setLangPlaceholders($strings)
{
$counterInsert = 0;
$counterUpdate = 0;
$today = JFactory::getDate()->toSql();
foreach ($this->languages['en-GB'] as $area => $placeholders)
{
foreach ($placeholders as $placeholder => $string)
{
// to keep or remove
$remove = false;
// build the tranlations
if (ComponentbuilderHelper::checkString($string) && isset($this->multiLangString[$string]))
{
// make sure we have converted the string to array
if (isset($this->multiLangString[$string]['translation']) && ComponentbuilderHelper::checkJson($this->multiLangString[$string]['translation']))
{
$this->multiLangString[$string]['translation'] = json_decode($this->multiLangString[$string]['translation'], true);
}
// if we have an array continue
if (isset($this->multiLangString[$string]['translation'])
&& ComponentbuilderHelper::checkArray($this->multiLangString[$string]['translation'])
&& isset($this->multiLangString[$string]['translation']['translation'])
&& isset($this->multiLangString[$string]['translation']['language'])
&& ComponentbuilderHelper::checkArray($this->multiLangString[$string]['translation']['language'])
&& ComponentbuilderHelper::checkArray($this->multiLangString[$string]['translation']['translation']))
{
// great lets build the multi languages strings
foreach ($this->multiLangString[$string]['translation']['translation'] as $at => $lang)
{
$_tag = $this->multiLangString[$string]['translation']['language'][$at];
// build arrays
if (!isset($this->languages[$_tag]))
{
$this->languages[$_tag] = array();
}
if (!isset($this->languages[$_tag][$area]))
{
$this->languages[$_tag][$area] = array();
}
$this->languages[$_tag][$area][$placeholder] = $lang;
}
}
else
{
// remove this string not to be checked again
$remove = true;
}
}
// do the database managment
if(ComponentbuilderHelper::checkString($string) && ($key = array_search($string, $strings)) !== false)
{
if (isset($this->multiLangString[$string]))
{
// update the existing placeholder in db
$id = $this->multiLangString[$string]['id'];
if (ComponentbuilderHelper::checkJson($this->multiLangString[$string]['components']))
{
$components = (array) json_decode($this->multiLangString[$string]['components'], true);
// check if we should add the component ID
if (in_array($this->componentID, $components))
{
// only skip the update if the string is published and has the component ID
if ($this->multiLangString[$string]['published'] == 1)
{
continue;
}
}
else
{
$components[] = $this->componentID;
}
}
else
{
$components = array($this->componentID);
}
// start the bucket for this lang
$this->setUpdateExistingLangStrings($id, $components, 1, $today, $counterUpdate);
$counterUpdate++;
// load to db
$this->setExistingLangStrings(50);
// remove string if needed
if ($remove)
{
unset($this->multiLangString[$string]);
}
}
else
{
// add the new lang placeholder to the db
$this->newLangStrings[$counterInsert] = array();
$this->newLangStrings[$counterInsert][] = $this->db->quote(json_encode(array($this->componentID))); // 'components'
$this->newLangStrings[$counterInsert][] = $this->db->quote($string); // 'entranslation'
$this->newLangStrings[$counterInsert][] = $this->db->quote(1); // 'published'
$this->newLangStrings[$counterInsert][] = $this->db->quote($today); // 'created'
$this->newLangStrings[$counterInsert][] = $this->db->quote((int) $this->user->id); // 'created_by'
$this->newLangStrings[$counterInsert][] = $this->db->quote(1); // 'version'
$this->newLangStrings[$counterInsert][] = $this->db->quote(1); // 'access'
$counterInsert++;
// load to db
$this->setNewLangStrings(100);
}
// only set the string once
unset($strings[$key]);
}
}
}
// just to make sure all is done
$this->setExistingLangStrings();
$this->setNewLangStrings();
}
/**
* store the language placeholders
*
* @param int $when To set when to update
*
* @return void
*
*/
protected function setNewLangStrings($when = 1)
{
if (count($this->newLangStrings) >= $when)
{
// Create a new query object.
$query = $this->db->getQuery(true);
$continue = false;
// Insert columns.
$columns = array('components','entranslation','published','created','created_by','version','access');
// Prepare the insert query.
$query->insert($this->db->quoteName('#__componentbuilder_language_translation'));
$query->columns($this->db->quoteName($columns));
foreach($this->newLangStrings as $values)
{
if (count($values) == 7)
{
$query->values(implode(',', $values));
$continue = true;
}
else
{
// TODO line mismatch... should not happen
}
}
// clear the values array
$this->newLangStrings = array();
if (!$continue)
{
return false; // insure we dont continue if no values were loaded
}
// Set the query using our newly populated query object and execute it.
$this->db->setQuery($query);
$this->db->execute();
}
}
/**
* update the language placeholders
*
* @param int $when To set when to update
*
* @return void
*
*/
protected function setExistingLangStrings($when = 1)
{
if (count($this->existingLangStrings) >= $when)
{
foreach($this->existingLangStrings as $values)
{
// Create a new query object.
$query = $this->db->getQuery(true);
// Prepare the update query.
$query->update($this->db->quoteName('#__componentbuilder_language_translation'))->set($values['fields'])->where($values['conditions']);
// Set the query using our newly populated query object and execute it.
$this->db->setQuery($query);
$this->db->execute();
}
// clear the values array
$this->existingLangStrings = array();
}
}
/**
* Remove exiting language translation stings
*
* @param int $id To string ID to remove
*
* @return void
*
*/
protected function removeExitingLangString($id)
{
// Create a new query object.
$query = $this->db->getQuery(true);
// delete all custom keys for user 1001.
$conditions = array(
$this->db->quoteName('id') . ' = ' . (int) $id
);
$query->delete($this->db->quoteName('#__componentbuilder_language_translation'));
$query->where($conditions);
$this->db->setQuery($query);
$this->db->execute();
}
/**
* Function to purge the unused languge strings
*
* @param string $values the active strings
*
* @return void
*
*/
public function purgeLanuageStrings($values)
{
// Create a new query object.
$query = $this->db->getQuery(true);
$query->from($this->db->quoteName('#__componentbuilder_language_translation','a'));
$query->select($this->db->quoteName(array('a.id','a.translation','a.components')));
// get all string that are not linked to this component
$query->where($this->db->quoteName('a.entranslation') . ' NOT IN (' . implode(',',array_map(function($a){ return $this->db->quote($a); }, $values)) . ')');
$query->where($this->db->quoteName('a.published') . ' = 1');
$this->db->setQuery($query);
$this->db->execute();
if ($this->db->getNumRows())
{
$counterUpdate = 0;
$otherStrings = $this->db->loadAssocList();
$today = JFactory::getDate()->toSql();
foreach ($otherStrings as $item)
{
if (ComponentbuilderHelper::checkJson($item['components']))
{
$components = (array) json_decode($item['components'], true);
// if component is not found ignore this string, and do nothing
if (($key = array_search($this->componentID, $components)) !== false)
{
// first remove the component from the string
unset($components[$key]);
// check if there are more components
if (ComponentbuilderHelper::checkArray($components))
{
// just update the string to unlink the current component
$this->setUpdateExistingLangStrings($item['id'], $components, 1, $today, $counterUpdate);
$counterUpdate++;
// load to db
$this->setExistingLangStrings(50);
}
// check if this string has been worked on
elseif (ComponentbuilderHelper::checkJson($item['translation']))
{
$translation = json_decode($item['translation'], true);
if (ComponentbuilderHelper::checkArray($translation) && ComponentbuilderHelper::checkArray($translation['translation']))
{
// only archive the item and update the string to unlink the current component
$this->setUpdateExistingLangStrings($item['id'], $components, 2, $today, $counterUpdate);
$counterUpdate++;
// load to db
$this->setExistingLangStrings(50);
}
else
{
// remove the string since no translation found and not linked to any other component
$this->removeExitingLangString($item['id']);
}
}
else
{
// remove the string since no translation found and not linked to any other component
$this->removeExitingLangString($item['id']);
}
}
}
}
// load to db
$this->setExistingLangStrings();
}
}
/**
* just to add lang string to the existing Lang Strings array
*
* @return void
*
*/
protected function setUpdateExistingLangStrings($id, $components, $published, $today, $counterUpdate)
{
// start the bucket for this lang
$this->existingLangStrings[$counterUpdate] = array();
$this->existingLangStrings[$counterUpdate]['id'] = (int) $id;
$this->existingLangStrings[$counterUpdate]['conditions'] = array();
$this->existingLangStrings[$counterUpdate]['conditions'][] = $this->db->quoteName('id') . ' = ' . $this->db->quote($id);
$this->existingLangStrings[$counterUpdate]['fields'] = array();
$this->existingLangStrings[$counterUpdate]['fields'][] = $this->db->quoteName('components') . ' = ' . $this->db->quote(json_encode($components));
$this->existingLangStrings[$counterUpdate]['fields'][] = $this->db->quoteName('published') . ' = ' . $this->db->quote($published);
$this->existingLangStrings[$counterUpdate]['fields'][] = $this->db->quoteName('modified') . ' = ' . $this->db->quote($today);
$this->existingLangStrings[$counterUpdate]['fields'][] = $this->db->quoteName('modified_by') . ' = ' . $this->db->quote((int) $this->user->id);
}
/**
* get the custom code from the system
*

View File

@ -359,7 +359,7 @@ class Structure extends Get
*/
private function setLine($nr)
{
if ($this->loadLineNr)
if ($this->debugLinenr)
{
return ' [Structure '.$nr.']';
}
@ -721,16 +721,19 @@ class Structure extends Get
*/
public function getLastModifiedDate($view)
{
if (isset($view['settings']->modified) && ComponentbuilderHelper::checkString($view['settings']->modified))
// first set the main date
if (isset($view['settings']->modified)
&& ComponentbuilderHelper::checkString($view['settings']->modified)
&& '0000-00-00 00:00:00' !== $view['settings']->modified)
{
// first set the main date
$date = strtotime($view['settings']->modified);
}
else
{
// first set the main date
// use todays date
$date = strtotime("now");
}
// search for the last modified date
if (isset($view['adminview']))
{
$id = $view['adminview'].'admin';
@ -741,7 +744,9 @@ class Structure extends Get
{
foreach ($view['settings']->fields as $field)
{
if (isset($field['settings']) && ComponentbuilderHelper::checkObject($field['settings']) && isset($field['settings']->modified))
if (isset($field['settings']) && ComponentbuilderHelper::checkObject($field['settings'])
&& isset($field['settings']->modified) && ComponentbuilderHelper::checkString($field['settings']->modified)
&& '0000-00-00 00:00:00' !== $field['settings']->modified)
{
$anotherDate = strtotime($field['settings']->modified);
if ($anotherDate > $date)
@ -759,7 +764,9 @@ class Structure extends Get
// now check if value has been set
if (!isset($this->lastModifiedDate[$id]))
{
if (isset($view['settings']->main_get->modified))
if (isset($view['settings']->main_get->modified)
&& ComponentbuilderHelper::checkString($view['settings']->main_get->modified)
&& '0000-00-00 00:00:00' !== $view['settings']->main_get->modified)
{
$anotherDate = strtotime($view['settings']->main_get->modified);
if ($anotherDate > $date)
@ -775,7 +782,9 @@ class Structure extends Get
// now check if value has been set
if (!isset($this->lastModifiedDate[$id]))
{
if (isset($view['settings']->main_get->modified))
if (isset($view['settings']->main_get->modified)
&& ComponentbuilderHelper::checkString($view['settings']->main_get->modified)
&& '0000-00-00 00:00:00' !== $view['settings']->main_get->modified)
{
$anotherDate = strtotime($view['settings']->main_get->modified);
if ($anotherDate > $date)

View File

@ -61,6 +61,13 @@ class Fields extends Structure
*/
public $layoutBuilder = array();
/**
* used to fix the zero order
*
* @var array
*/
private $zeroOrderFix = array();
/**
* Site field data
*
@ -229,6 +236,13 @@ class Fields extends Structure
*/
public $jsonStringBuilder = array();
/**
* Json String Builder for return values to array
*
* @var array
*/
public $jsonItemBuilderArray = array();
/**
* Json Item Builder
*
@ -351,7 +365,7 @@ class Fields extends Structure
*/
private function setLine($nr)
{
if ($this->loadLineNr)
if ($this->debugLinenr)
{
return ' [Fields '.$nr.']';
}
@ -463,7 +477,6 @@ class Fields extends Structure
{
$dynamcfields .= $this->setDynamicField($field, $view, $view['settings']->type, $langView, $viewName, $listViewName, $spacerCounter, $this->placeholders, $dbkey, true);
}
// set the defautl fields
$fieldSet = array();
$fieldSet[] = '<fieldset name="details">';
@ -761,8 +774,8 @@ class Fields extends Structure
}
elseif ($this->defaultField($typeName, 'special'))
{
// set the repeatable field
if ($typeName === 'repeatable')
// set the repeatable field or subform field
if ($typeName === 'repeatable' || $typeName === 'subform')
{
if ($build)
{
@ -1026,6 +1039,93 @@ class Fields extends Structure
$fieldSet .= PHP_EOL."\t\t\t</fields>";
$fieldSet .= PHP_EOL."\t\t</field>";
}
// set the subform fields (it is a repeatable without the modal)
elseif ($typeName === 'subform')
{
// now add to the field set
$fieldSet .= PHP_EOL."\t\t<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
$fieldSet .= PHP_EOL."\t\t<field";
$fieldsSet = array();
foreach ($fieldAttributes as $property => $value)
{
if ($property != 'fields')
{
$fieldSet .= PHP_EOL."\t\t\t" . $property . '="' . $value . '"';
}
}
$fieldSet .= ">";
$fieldSet .= PHP_EOL."\t\t\t" . '<form hidden="true" name="list_' . $fieldAttributes['name'] . '_modal" repeat="true">';
if (strpos($fieldAttributes['fields'], ',') !== false)
{
// mulitpal fields
$fieldsSets = (array) explode(',', $fieldAttributes['fields']);
}
elseif (is_numeric($fieldAttributes['fields']))
{
// single field
$fieldsSets[] = (int) $fieldAttributes['fields'];
}
// only continue if we have a field set
if (ComponentbuilderHelper::checkArray($fieldsSets))
{
foreach ($fieldsSets as $fieldId)
{
// get the field data
$fieldData = array();
$fieldData['settings'] = $this->getFieldData($fieldId, $viewName);
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
{
$r_name = ComponentbuilderHelper::safeString($fieldData['settings']->name);
$r_typeName = ComponentbuilderHelper::safeString($fieldData['settings']->type_name);
$r_multiple = false;
$r_langLabel = '';
// add the tabs needed
$taber = "\t\t";
// get field values
$r_fieldValues = $this->setFieldAttributes($fieldData, $view, $r_name, $r_typeName, $r_multiple, $r_langLabel, $langView, $spacerCounter, $listViewName, $viewName, $placeholders, true);
// check if values were set
if (ComponentbuilderHelper::checkArray($r_fieldValues))
{
//reset options array
$r_optionArray = array();
if ($this->defaultField($r_typeName, 'option'))
{
// now add to the field set
$fieldSet .= $this->setField('option', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
}
elseif ($this->defaultField($r_typeName, 'plain'))
{
// now add to the field set
$fieldSet .= $this->setField('plain', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
}
elseif (ComponentbuilderHelper::checkArray($r_fieldValues['custom']))
{
// add to custom
$custom = $r_fieldValues['custom'];
unset($r_fieldValues['custom']);
// now add to the field set
$fieldSet .= $this->setField('custom', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
// set lang (just incase)
$r_listLangName = $langView . '_' . ComponentbuilderHelper::safeString($r_name, 'U');
// add to lang array
$this->langContent[$this->lang][$r_listLangName] = ComponentbuilderHelper::safeString($r_name, 'W');
// if label was set use instead
if (ComponentbuilderHelper::checkString($r_langLabel))
{
$r_listLangName = $r_langLabel;
}
// set the custom array
$data = array('type' => $r_typeName, 'code' => $r_name, 'lang' => $r_listLangName, 'custom' => $custom);
// set the custom field file
$this->setCustomFieldTypeFile($data, $listViewName, $viewName);
}
}
}
}
}
$fieldSet .= PHP_EOL."\t\t\t</form>";
$fieldSet .= PHP_EOL."\t\t</field>";
}
}
elseif ($setType === 'custom')
{
@ -1067,6 +1167,26 @@ class Fields extends Structure
*/
public function setLayoutBuilder(&$viewName,&$tabName,&$name,&$field)
{
// first fix the zero order
// to insure it lands before all the other fields
// as zero is expected to behave
if ($field['order_edit'] == 0)
{
if (!isset($this->zeroOrderFix[$viewName]))
{
$this->zeroOrderFix[$viewName] = array();
}
if (!isset($this->zeroOrderFix[$viewName][(int) $field['tab']]))
{
$this->zeroOrderFix[$viewName][(int) $field['tab']] = -999;
}
else
{
$this->zeroOrderFix[$viewName][(int) $field['tab']]++;
}
$field['order_edit'] = $this->zeroOrderFix[$viewName][(int) $field['tab']];
}
// now build the layout
if (ComponentbuilderHelper::checkString($tabName) && $tabName != 'publishing')
{
$this->tabCounter[$viewName][(int) $field['tab']] = $tabName;
@ -1489,6 +1609,12 @@ class Fields extends Structure
{
$this->doNotEscape[$listViewName][] = $fieldAttributes['name'];
}
// check if we have display switch for dynamic placment
$display = ComponentbuilderHelper::getBetween($field['settings']->xml, 'display="', '"');
if (ComponentbuilderHelper::checkString($display))
{
$fieldAttributes['display'] = $display;
}
}
}
return $fieldAttributes;
@ -1670,6 +1796,8 @@ class Fields extends Structure
{
$this->queryBuilder[$viewName][$name]['default'] = 'EMPTY';
}
// to identify the field
$this->queryBuilder[$viewName][$name]['ID'] = $field['settings']->id;
$this->queryBuilder[$viewName][$name]['null_switch'] = $field['settings']->null_switch;
// set index types
if ($field['settings']->indexes == 1 && !in_array($field['settings']->datatype, $textKeys))
@ -1727,7 +1855,7 @@ class Fields extends Structure
}
}
// build the list values
if ($field['list'] == 1 && $typeName != 'repeatable')
if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
{
// load to list builder
$this->listBuilder[$listViewName][] = array(
@ -1763,7 +1891,7 @@ class Fields extends Structure
$this->intFieldsBuilder[$viewName] .= ',"' . $name . '"';
}
// set all dynamic field of this view
if ($typeName != 'category' && $typeName != 'repeatable' && !in_array($name, $this->defaultFields))
if ($typeName != 'category' && $typeName != 'repeatable' && $typeName != 'subform' && !in_array($name, $this->defaultFields))
{
if (!isset($this->dynamicfieldsBuilder[$viewName]))
{
@ -1788,9 +1916,9 @@ class Fields extends Structure
}
}
// set the custom builder
if (ComponentbuilderHelper::checkArray($custom) && $typeName != 'category' && $typeName != 'repeatable')
if (ComponentbuilderHelper::checkArray($custom) && $typeName != 'category' && $typeName != 'repeatable' && $typeName != 'subform')
{
$this->customBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom);
$this->customBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom, 'method' => $field['settings']->store);
// set the custom fields needed in content type data
if (!isset($this->customFieldLinksBuilder[$viewName]))
{
@ -1834,7 +1962,7 @@ class Fields extends Structure
$this->checkboxBuilder[$viewName][] = $name;
}
// setup checkboxes and other json items for this view
if (($typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && $typeName != 'tag')
if (($typeName === 'subform' || $typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && $typeName != 'tag')
{
switch ($field['settings']->store)
{
@ -1876,7 +2004,7 @@ class Fields extends Structure
}
// load the json list display fix
if ($field['list'] == 1 && $typeName != 'repeatable')
if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
{
if (ComponentbuilderHelper::checkArray($options))
{
@ -1887,6 +2015,12 @@ class Fields extends Structure
$this->getItemsMethodListStringFixBuilder[$viewName][] = array('name' => $name, 'type' => $typeName, 'translation' => false, 'custom' => $custom, 'method' => $field['settings']->store);
}
}
// if subform the values must revert to array
if ('subform' === $typeName)
{
$this->jsonItemBuilderArray[$viewName][] = $name;
}
}
// build the data for the export & import methods $typeName === 'repeatable' ||
if (($typeName === 'checkboxes' || $multiple || $field['settings']->store != 0) && !ComponentbuilderHelper::checkArray($options))
@ -1897,12 +2031,12 @@ class Fields extends Structure
// check if field should be added to uikit
$this->buildSiteFieldData($viewName, $name, 'uikit', $typeName);
// load the selection translation fix
if (ComponentbuilderHelper::checkArray($options) && $field['list'] == 1 && $typeName != 'repeatable')
if (ComponentbuilderHelper::checkArray($options) && $field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform')
{
$this->selectionTranslationFixBuilder[$listViewName][$name] = $options;
}
// build the sort values
if ($field['sort'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable'))
if ($field['sort'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform'))
{
$this->sortBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom, 'options' => $options);
}
@ -1912,7 +2046,7 @@ class Fields extends Structure
$this->searchBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'custom' => $custom, 'list' => $field['list']);
}
// build the filter values
if ($field['filter'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable'))
if ($field['filter'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform'))
{
$this->filterBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'database' => $viewName, 'function' => ComponentbuilderHelper::safeString($name, 'F'), 'custom' => $custom, 'options' => $options);
}
@ -2069,7 +2203,7 @@ class Fields extends Structure
'chromestyle', 'contenttype', 'databaseconnection', 'editors', 'email', 'file',
'filelist', 'folderlist', 'groupedlist', 'hidden', 'file', 'headertag', 'helpsite',
'imagelist', 'integer', 'language', 'list', 'media', 'menu', 'note', 'number', 'password',
'plugins', 'radio', 'repeatable', 'range', 'rules', 'sessionhandler', 'spacer', 'sql', 'tag',
'plugins', 'radio', 'repeatable', 'range', 'rules', 'subform', 'sessionhandler', 'spacer', 'sql', 'tag',
'tel', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition', 'moduletag',
'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
),
@ -2090,7 +2224,7 @@ class Fields extends Structure
),
'special' => array(
'contentlanguage', 'groupedlist', 'moduleposition', 'plugin',
'repeatable', 'templatestyle'
'repeatable', 'templatestyle', 'subform'
)
);

File diff suppressed because it is too large Load Diff

View File

@ -61,7 +61,7 @@ class Infusion extends Interpretation
*/
private function setLine($nr)
{
if ($this->loadLineNr)
if ($this->debugLinenr)
{
return ' [Infusion '.$nr.']';
}
@ -149,10 +149,12 @@ class Infusion extends Interpretation
$this->fileContentStatic['###SITECSS###'] = $this->setPlaceholders($this->customScriptBuilder['component_css'], $this->placeholders);
// ###CUSTOM_HELPER_SCRIPT###
$this->fileContentStatic['###CUSTOM_HELPER_SCRIPT###'] = $this->setPlaceholders($this->customScriptBuilder['component_php_helper_admin'], $this->placeholders);
$this->fileContentStatic['###CUSTOM_HELPER_SCRIPT###']
= $this->setPlaceholders($this->customScriptBuilder['component_php_helper_admin'], $this->placeholders);
// ###BOTH_CUSTOM_HELPER_SCRIPT###
$this->fileContentStatic['###BOTH_CUSTOM_HELPER_SCRIPT###'] = $this->setPlaceholders($this->customScriptBuilder['component_php_helper_both'], $this->placeholders);
$this->fileContentStatic['###BOTH_CUSTOM_HELPER_SCRIPT###']
= $this->setPlaceholders($this->customScriptBuilder['component_php_helper_both'], $this->placeholders);
// ###ADMIN_GLOBAL_EVENT_HELPER###
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] = '';
@ -168,14 +170,16 @@ class Infusion extends Interpretation
{
// ###ADMIN_GLOBAL_EVENT###
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT###'] = PHP_EOL.PHP_EOL.'// Triger the Global Admin Event';
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT###'] .= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT###']
.= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
// ###ADMIN_GLOBAL_EVENT_HELPER###
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] = PHP_EOL.PHP_EOL."\t".'/**';
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'* The Global Admin Event Method.';
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'**/';
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'public static function globalEvent($document)';
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'{';
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_admin_event'], $this->placeholders);
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###']
.= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_admin_event'], $this->placeholders);
$this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'}';
}
@ -192,8 +196,6 @@ class Infusion extends Interpretation
$this->fileContentStatic['###HELP###'] = $this->noHelp();
// ###HELP_SITE###
$this->fileContentStatic['###HELP_SITE###'] = $this->noHelp();
// ###UPDATE_VERSION_MYSQL###
$this->setVersionController();
// build route parse switch
$this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] = '';
@ -260,7 +262,8 @@ class Infusion extends Interpretation
$this->setLockLicensePer($viewName_list, $this->target);
// ###FIELDSETS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###FIELDSETS###'] = $this->setFieldSet($view, $this->fileContentStatic['###component###']);
$this->fileContentDynamic[$viewName_single]['###FIELDSETS###']
= $this->setFieldSet($view, $this->fileContentStatic['###component###']);
// ###ACCESSCONTROL### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###ACCESSCONTROL###'] = $this->setFieldSetAccessControl($viewName_single);
@ -283,11 +286,14 @@ class Infusion extends Interpretation
// ###AJAXTOKE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###AJAXTOKE###'] = $this->setAjaxToke($viewName_single);
if (isset($this->customScriptBuilder['php_document'][$viewName_single]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['php_document'][$viewName_single]))
if (isset($this->customScriptBuilder['php_document'][$viewName_single])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder['php_document'][$viewName_single]))
{
// ###DOCUMENT_CUSTOM_PHP### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###DOCUMENT_CUSTOM_PHP###']
= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['php_document'][$viewName_single], $this->placeholders);
= PHP_EOL.$this->setPlaceholders(
$this->customScriptBuilder['php_document'][$viewName_single],
$this->placeholders);
// clear some memory
unset($this->customScriptBuilder['php_document'][$viewName_single]);
}
@ -300,7 +306,8 @@ class Infusion extends Interpretation
$this->fileContentDynamic[$viewName_single]['###LINKEDVIEWTABLESCRIPTS###'] = '';
// ###VALIDATEFIX### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###VALIDATIONFIX###'] = $this->setValidationFix($viewName_single, $this->fileContentStatic['###Component###']);
$this->fileContentDynamic[$viewName_single]['###VALIDATIONFIX###']
= $this->setValidationFix($viewName_single, $this->fileContentStatic['###Component###']);
// ###EDITBODY### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###EDITBODY###'] = $this->setEditBody($view);
@ -324,16 +331,20 @@ class Infusion extends Interpretation
$this->fileContentDynamic[$viewName_single]['###LINKEDVIEWMETHODS###'] = '';
// ###JMODELADMIN_BEFORE_DELETE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_DELETE###'] = $this->getCustomScriptBuilder('php_before_delete', $viewName_single, PHP_EOL);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_DELETE###']
= $this->getCustomScriptBuilder('php_before_delete', $viewName_single, PHP_EOL);
// ###JMODELADMIN_AFTER_DELETE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_DELETE###'] = $this->getCustomScriptBuilder('php_after_delete', $viewName_single, PHP_EOL.PHP_EOL);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_DELETE###']
= $this->getCustomScriptBuilder('php_after_delete', $viewName_single, PHP_EOL.PHP_EOL);
// ###JMODELADMIN_BEFORE_DELETE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_PUBLISH###'] = $this->getCustomScriptBuilder('php_before_publish', $viewName_single, PHP_EOL);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_PUBLISH###']
= $this->getCustomScriptBuilder('php_before_publish', $viewName_single, PHP_EOL);
// ###JMODELADMIN_AFTER_DELETE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_PUBLISH###'] = $this->getCustomScriptBuilder('php_after_publish', $viewName_single, PHP_EOL.PHP_EOL);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_PUBLISH###']
= $this->getCustomScriptBuilder('php_after_publish', $viewName_single, PHP_EOL.PHP_EOL);
// ###CHECKBOX_SAVE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###CHECKBOX_SAVE###'] = $this->setCheckboxSave($viewName_single);
@ -342,9 +353,12 @@ class Infusion extends Interpretation
$this->fileContentDynamic[$viewName_single]['###METHOD_ITEM_SAVE###'] = $this->setMethodItemSave($viewName_single);
// ###POSTSAVEHOOK### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###POSTSAVEHOOK###'] = $this->getCustomScriptBuilder('php_postsavehook', $viewName_single, PHP_EOL, null, true, PHP_EOL."\t\treturn;", PHP_EOL.PHP_EOL."\t\treturn;");
$this->fileContentDynamic[$viewName_single]['###POSTSAVEHOOK###']
= $this->getCustomScriptBuilder('php_postsavehook', $viewName_single, PHP_EOL, null, true,
PHP_EOL."\t\treturn;", PHP_EOL.PHP_EOL."\t\treturn;");
if (isset($this->customScriptBuilder['css_view'][$viewName_single]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['css_view'][$viewName_single]))
if (isset($this->customScriptBuilder['css_view'][$viewName_single])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder['css_view'][$viewName_single]))
{
// ###VIEWCSS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###VIEWCSS###']
@ -360,7 +374,8 @@ class Infusion extends Interpretation
// add css to front end
if ($view['edit_create_site_view'])
{
$this->fileContentDynamic[$viewName_single]['###SITE_VIEWCSS###'] = $this->fileContentDynamic[$viewName_single]['###VIEWCSS###'];
$this->fileContentDynamic[$viewName_single]['###SITE_VIEWCSS###']
= $this->fileContentDynamic[$viewName_single]['###VIEWCSS###'];
}
}
// set the views names
@ -411,9 +426,11 @@ class Infusion extends Interpretation
if ($view['checkin'] == 1)
{
// ###AUTOCHECKIN### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###AUTOCHECKIN###'] = $this->setAutoCheckin($viewName_single,$this->fileContentStatic['###component###']);
$this->fileContentDynamic[$viewName_list]['###AUTOCHECKIN###']
= $this->setAutoCheckin($viewName_single,$this->fileContentStatic['###component###']);
// ###CHECKINCALL### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###CHECKINCALL###'] = $this->setCheckinCall();
$this->fileContentDynamic[$viewName_list]['###CHECKINCALL###']
= $this->setCheckinCall();
}
else
{
@ -423,19 +440,26 @@ class Infusion extends Interpretation
$this->fileContentDynamic[$viewName_list]['###CHECKINCALL###'] = '';
}
// ###ADMIN_CUSTOM_BUTTONS_LIST###
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_BUTTONS_LIST###'] = $this->setCustomButtons($view, 3, "\t");
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_BUTTONS_LIST###']
= $this->setCustomButtons($view, 3, "\t");
$this->fileContentDynamic[$viewName_list]['###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST###']
= $this->setFunctionOnlyButtons($viewName_list);
// ###GET_ITEMS_METHOD_STRING_FIX### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_STRING_FIX###'] = $this->setGetItemsMethodStringFix($viewName_single,$this->fileContentStatic['###Component###']);
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_STRING_FIX###']
= $this->setGetItemsMethodStringFix($viewName_single,$this->fileContentStatic['###Component###']);
// ###GET_ITEMS_METHOD_AFTER_ALL### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_AFTER_ALL###'] = $this->getCustomScriptBuilder('php_getitems_after_all', $viewName_single, PHP_EOL);
$this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_AFTER_ALL###']
= $this->getCustomScriptBuilder('php_getitems_after_all', $viewName_single, PHP_EOL);
// ###SELECTIONTRANSLATIONFIX### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIX###'] = $this->setSelectionTranslationFix($viewName_list,$this->fileContentStatic['###Component###']);
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIX###']
= $this->setSelectionTranslationFix($viewName_list,$this->fileContentStatic['###Component###']);
// ###SELECTIONTRANSLATIONFIXFUNC### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIXFUNC###'] = $this->setSelectionTranslationFixFunc($viewName_list,$this->fileContentStatic['###Component###']);
$this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIXFUNC###']
= $this->setSelectionTranslationFixFunc($viewName_list,$this->fileContentStatic['###Component###']);
// ###FILTER_FIELDS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###FILTER_FIELDS###'] = $this->setFilterFields($viewName_list);
@ -457,28 +481,34 @@ class Infusion extends Interpretation
{
$this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###'] = '';
}
$this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###'] .= $this->setRouterCategoryViews($viewName_single,$viewName_list);
$this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###']
.= $this->setRouterCategoryViews($viewName_single,$viewName_list);
// ###OTHERFILTERS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###OTHERFILTERS###'] = $this->setOtherFilter($viewName_list);
// ###FILTERFUNCTIONS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###FILTERFUNCTIONS###'] = $this->setFilterFunctions($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_list]['###FILTERFUNCTIONS###']
= $this->setFilterFunctions($viewName_single,$viewName_list);
// ###LISTQUERY### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###LISTQUERY###'] = $this->setListQuery($viewName_single,$viewName_list);
// ###MODELEXPORTMETHOD### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###MODELEXPORTMETHOD###'] = $this->setModelExportMethod($viewName_single, $viewName_list);
$this->fileContentDynamic[$viewName_list]['###MODELEXPORTMETHOD###']
= $this->setModelExportMethod($viewName_single, $viewName_list);
// ###MODELEXIMPORTMETHOD### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###CONTROLLEREXIMPORTMETHOD###'] = $this->setControllerEximportMethod($viewName_single, $viewName_list);
$this->fileContentDynamic[$viewName_list]['###CONTROLLEREXIMPORTMETHOD###']
= $this->setControllerEximportMethod($viewName_single, $viewName_list);
// ###EXPORTBUTTON### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###EXPORTBUTTON###'] = $this->setExportButton($viewName_single, $viewName_list);
$this->fileContentDynamic[$viewName_list]['###EXPORTBUTTON###']
= $this->setExportButton($viewName_single, $viewName_list);
// ###IMPORTBUTTON### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###IMPORTBUTTON###'] = $this->setImportButton($viewName_single, $viewName_list);
$this->fileContentDynamic[$viewName_list]['###IMPORTBUTTON###']
= $this->setImportButton($viewName_single, $viewName_list);
// ###LISTHEAD### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###LISTHEAD###'] = $this->setListHead($viewName_single,$viewName_list);
@ -490,9 +520,11 @@ class Infusion extends Interpretation
$this->fileContentDynamic[$viewName_list]['###LISTCOLNR###'] = $this->setListColnr($viewName_list);
// ###JVIEWLISTCANDO### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###JVIEWLISTCANDO###'] = $this->setJviewListCanDo($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_list]['###JVIEWLISTCANDO###']
= $this->setJviewListCanDo($viewName_single,$viewName_list);
if (isset($this->customScriptBuilder['css_views'][$viewName_list]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['css_views'][$viewName_list]))
if (isset($this->customScriptBuilder['css_views'][$viewName_list])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder['css_views'][$viewName_list]))
{
// ###VIEWCSS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###VIEWSCSS###']
@ -526,28 +558,36 @@ class Infusion extends Interpretation
$this->fileContentDynamic[$viewName_list]['###BATCH_ONCLICK_CANCEL_SCRIPT###'] = ''; // TODO <-- must still be build
// ###JCONTROLLERFORM_ALLOWADD### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWADD###'] = $this->setJcontrollerAllowAdd($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWADD###']
= $this->setJcontrollerAllowAdd($viewName_single,$viewName_list);
// ###JCONTROLLERFORM_ALLOWEDIT### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWEDIT###'] = $this->setJcontrollerAllowEdit($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWEDIT###']
= $this->setJcontrollerAllowEdit($viewName_single,$viewName_list);
// ###JMODELADMIN_GETFORM### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_GETFORM###'] = $this->setJmodelAdminGetForm($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_GETFORM###']
= $this->setJmodelAdminGetForm($viewName_single,$viewName_list);
// ###JMODELADMIN_ALLOWEDIT### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_ALLOWEDIT###'] = $this->setJmodelAdminAllowEdit($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_ALLOWEDIT###']
= $this->setJmodelAdminAllowEdit($viewName_single,$viewName_list);
// ###JMODELADMIN_CANDELETE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANDELETE###'] = $this->setJmodelAdminCanDelete($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANDELETE###']
= $this->setJmodelAdminCanDelete($viewName_single,$viewName_list);
// ###JMODELADMIN_CANEDITSTATE### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANEDITSTATE###'] = $this->setJmodelAdminCanEditState($viewName_single,$viewName_list);
$this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANEDITSTATE###']
= $this->setJmodelAdminCanEditState($viewName_single,$viewName_list);
// set custom admin view Toolbare buttons
// ###CUSTOM_ADMIN_DYNAMIC_BUTTONS### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS###'] = $this->setCustomAdminDynamicButton($viewName_list);
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS###']
= $this->setCustomAdminDynamicButton($viewName_list);
// ###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER### <<<DYNAMIC>>>
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER###'] = $this->setCustomAdminDynamicButtonController($viewName_list);
$this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER###']
= $this->setCustomAdminDynamicButtonController($viewName_list);
// set helper router
if (!isset($this->fileContentStatic['###ROUTEHELPER###']))
@ -599,7 +639,8 @@ class Infusion extends Interpretation
}
if (!isset($this->langContent[$this->lang][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']))
{
$this->langContent[$this->lang][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC'] = $view['settings']->description;
$this->langContent[$this->lang][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']
= $view['settings']->description;
}
// ###ICOMOON### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###ICOMOON###'] = $view['icomoon'];
@ -624,7 +665,8 @@ class Infusion extends Interpretation
if ($view['settings']->main_get->gettype == 1)
{
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
{
// ###CUSTOM_ADMIN_BEFORE_GET_ITEM### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEM###']
@ -639,10 +681,12 @@ class Infusion extends Interpretation
}
// ###CUSTOM_ADMIN_GET_ITEM### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEM###'] = $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEM###']
= $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
{
// ###CUSTOM_ADMIN_AFTER_GET_ITEM### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEM###']
@ -659,10 +703,12 @@ class Infusion extends Interpretation
elseif ($view['settings']->main_get->gettype == 2)
{
// ###CUSTOM_ADMIN_GET_LIST_QUERY### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_LIST_QUERY###'] = $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_LIST_QUERY###']
= $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_getlistquery'][$view['settings']->code]))
{
// ###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY###']
@ -677,7 +723,8 @@ class Infusion extends Interpretation
}
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
{
// ###CUSTOM_ADMIN_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEMS###']
@ -692,10 +739,12 @@ class Infusion extends Interpretation
}
// ###CUSTOM_ADMIN_GET_ITEMS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEMS###'] = $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEMS###']
= $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
{
// ###CUSTOM_ADMIN_AFTER_GET_ITEMS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEMS###']
@ -711,20 +760,25 @@ class Infusion extends Interpretation
}
// ###CUSTOM_ADMIN_CUSTOM_METHODS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###'] = $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###'] .= $this->setCustomViewCustomMethods($view, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###']
= $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###']
.= $this->setCustomViewCustomMethods($view, $view['settings']->code);
// ###CUSTOM_ADMIN_DIPLAY_METHOD### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_DIPLAY_METHOD###'] = $this->setCustomViewDisplayMethod($view);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_DIPLAY_METHOD###']
= $this->setCustomViewDisplayMethod($view);
// set document details
$this->setPrepareDocument($view);
// ###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###'] = $this->setCustomViewExtraDisplayMethods($view);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###']
= $this->setCustomViewExtraDisplayMethods($view);
// ###CUSTOM_ADMIN_CODE_BODY### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CODE_BODY###'] = $this->setCustomViewCodeBody($view);
// ###CUSTOM_ADMIN_BODY### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BODY###'] = $this->setCustomViewBody($view);
// ###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT###'] = $this->setCustomViewSubmitButtonScript($view);
$this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT###']
= $this->setCustomViewSubmitButtonScript($view);
// setup the templates
$this->setCustomViewTemplateBody($view);
@ -760,6 +814,9 @@ class Infusion extends Interpretation
// ###UNINSTALL###
$this->fileContentStatic['###UNINSTALL###'] = $this->setUninstall();
// ###UPDATE_VERSION_MYSQL###
$this->setVersionController();
// ###DASHBOARDICONS###
$this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASHBOARDICONS###'] = $this->setDashboardIcons();
@ -881,7 +938,8 @@ class Infusion extends Interpretation
}
// insure the needed route helper is loaded
$this->fileContentStatic['###ROUTEHELPER###'] .= $this->setRouterHelp($view['settings']->code,$view['settings']->code, true);
$this->fileContentStatic['###ROUTEHELPER###']
.= $this->setRouterHelp($view['settings']->code,$view['settings']->code, true);
// build route details
$this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] .= $this->routerParseSwitch($view['settings']->code, $view);
$this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] .= $this->routerBuildViews($view['settings']->code);
@ -889,9 +947,11 @@ class Infusion extends Interpretation
if ($view['settings']->main_get->gettype == 1)
{
// set user permission access check ###USER_PERMISSION_CHECK_ACCESS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###'] = $this->setUserPermissionCheckAccess($view, 1);
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###']
= $this->setUserPermissionCheckAccess($view, 1);
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitem'][$view['settings']->code]))
{
// ###SITE_BEFORE_GET_ITEM### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEM###']
@ -906,10 +966,12 @@ class Infusion extends Interpretation
}
// ###SITE_GET_ITEM### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEM###'] = $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEM###']
= $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code,"\t\t");
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitem'][$view['settings']->code]))
{
// ###SITE_AFTER_GET_ITEM### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEM###']
@ -926,12 +988,15 @@ class Infusion extends Interpretation
elseif ($view['settings']->main_get->gettype == 2)
{
// set user permission access check ###USER_PERMISSION_CHECK_ACCESS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###'] = $this->setUserPermissionCheckAccess($view, 2);
$this->fileContentDynamic[$view['settings']->code]['###USER_PERMISSION_CHECK_ACCESS###']
= $this->setUserPermissionCheckAccess($view, 2);
// ###SITE_GET_LIST_QUERY### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_LIST_QUERY###'] = $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_LIST_QUERY###']
= $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_before_getitems'][$view['settings']->code]))
{
// ###SITE_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEMS###']
@ -946,10 +1011,12 @@ class Infusion extends Interpretation
}
// ###SITE_GET_ITEMS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEMS###'] = $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEMS###']
= $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
// check if there is any custom script
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
if (isset($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code])
&& ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target.'_php_after_getitems'][$view['settings']->code]))
{
// ###SITE_AFTER_GET_ITEMS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEMS###']
@ -970,17 +1037,22 @@ class Infusion extends Interpretation
}
if (!isset($this->langContent['site'][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']))
{
$this->langContent['site'][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC'] = $view['settings']->description;
$this->langContent['site'][$this->langPrefix.'_'.$view['settings']->CODE.'_DESC']
= $view['settings']->description;
}
// ###SITE_CUSTOM_METHODS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###'] = $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###'] .= $this->setCustomViewCustomMethods($view, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###']
= $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
$this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###']
.= $this->setCustomViewCustomMethods($view, $view['settings']->code);
// ###SITE_DIPLAY_METHOD### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_DIPLAY_METHOD###'] = $this->setCustomViewDisplayMethod($view);
$this->fileContentDynamic[$view['settings']->code]['###SITE_DIPLAY_METHOD###']
= $this->setCustomViewDisplayMethod($view);
// set document details
$this->setPrepareDocument($view);
// ###SITE_EXTRA_DIPLAY_METHODS### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_EXTRA_DIPLAY_METHODS###'] = $this->setCustomViewExtraDisplayMethods($view);
$this->fileContentDynamic[$view['settings']->code]['###SITE_EXTRA_DIPLAY_METHODS###']
= $this->setCustomViewExtraDisplayMethods($view);
// ###SITE_CODE_BODY### <<<DYNAMIC>>>
$this->fileContentDynamic[$view['settings']->code]['###SITE_CODE_BODY###'] = $this->setCustomViewCodeBody($view);
// ###SITE_BODY### <<<DYNAMIC>>>
@ -989,9 +1061,15 @@ class Infusion extends Interpretation
// setup the templates
$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
// ###SITE_CUSTOM_HELPER_SCRIPT###
$this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###'] = $this->setPlaceholders($this->customScriptBuilder['component_php_helper_site'], $this->placeholders);
$this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###']
= $this->setPlaceholders($this->customScriptBuilder['component_php_helper_site'], $this->placeholders);
// ###SITE_GLOBAL_EVENT_HELPER###
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] = '';
// ###SITE_GLOBAL_EVENT###
@ -1000,14 +1078,17 @@ class Infusion extends Interpretation
if ($this->componentData->add_site_event == 1)
{
$this->fileContentStatic['###SITE_GLOBAL_EVENT###'] = PHP_EOL.PHP_EOL.'// Triger the Global Site Event';
$this->fileContentStatic['###SITE_GLOBAL_EVENT###'] .= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
$this->fileContentStatic['###SITE_GLOBAL_EVENT###']
.= PHP_EOL.$this->fileContentStatic['###Component###'].'Helper::globalEvent($document);';
// ###SITE_GLOBAL_EVENT_HELPER###
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] = PHP_EOL.PHP_EOL."\t".'/**';
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'* The Global Site Event Method.';
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'**/';
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'public static function globalEvent($document)';
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###']
.= PHP_EOL."\t".'public static function globalEvent($document)';
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'{';
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_site_event'], $this->placeholders);
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###']
.= PHP_EOL.$this->setPlaceholders($this->customScriptBuilder['component_php_site_event'], $this->placeholders);
$this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= PHP_EOL."\t".'}';
}
// setup the layouts
@ -1041,7 +1122,8 @@ class Infusion extends Interpretation
$this->fileContentStatic['###CONFIG_FIELDSETS###'] = implode(PHP_EOL,$this->configFieldSets);
// check if this has been set
if (!isset($this->fileContentStatic['###ROUTER_BUILD_VIEWS###']) || !ComponentbuilderHelper::checkString($this->fileContentStatic['###ROUTER_BUILD_VIEWS###']))
if (!isset($this->fileContentStatic['###ROUTER_BUILD_VIEWS###'])
|| !ComponentbuilderHelper::checkString($this->fileContentStatic['###ROUTER_BUILD_VIEWS###']))
{
$this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] = 0;
}
@ -1067,33 +1149,130 @@ class Infusion extends Interpretation
* @return boolean on success
*
*/
public function setLangFileData()
{
// First we build the strings
$lang = array();
// ###LANG_ADMIN###
$lang['###LANG_ADMIN###'] = $this->setLangAdmin();
// ###LANG_ADMIN_SYS###
$lang['###LANG_ADMIN_SYS###'] = $this->setLangAdminSys();
// ###LANG_SITE###
$lang['###LANG_SITE###'] = $this->setLangSite();
// ###LANG_SITE_SYS###
$lang['###LANG_SITE_SYS###'] = $this->setLangSiteSys();
// now we insert the values into the files
if (ComponentbuilderHelper::checkArray($this->langFiles))
$values = array();
$mainLangLoader = array();
// check the admin lang is set
if ($this->setLangAdmin())
{
foreach ($this->langFiles as $file)
$values[] = array_values($this->languages['en-GB']['admin']);
$mainLangLoader['admin'] = count($this->languages['en-GB']['admin']);
}
// check the admin system lang is set
if ($this->setLangAdminSys())
{
$values[] = array_values($this->languages['en-GB']['adminsys']);
$mainLangLoader['adminsys'] = count($this->languages['en-GB']['adminsys']);
}
// check the site lang is set
if (!$this->removeSiteFolder && $this->setLangSite())
{
$values[] = array_values($this->languages['en-GB']['site']);
$mainLangLoader['site'] = count($this->languages['en-GB']['site']);
}
// check the site system lang is set
if (!$this->removeSiteFolder && $this->setLangSiteSys())
{
$values[] = array_values($this->languages['en-GB']['sitesys']);
$mainLangLoader['sitesys'] = count($this->languages['en-GB']['sitesys']);
}
$values = array_unique(ComponentbuilderHelper::mergeArrays($values));
// get the other lang strings if there is any
$this->multiLangString = $this->getMultiLangStrings($values);
// update insert the current lang in to DB
$this->setLangPlaceholders($values);
// remove old unused language strings
$this->purgeLanuageStrings($values);
// path to INI file
$getPAth = $this->templatePath . '/en-GB.com_admin.ini';
// now we insert the values into the files
if (ComponentbuilderHelper::checkArray($this->languages))
{
$langXML = array();
foreach ($this->languages as $tag => $areas)
{
$string = file_get_contents($file['path']);
// load the data
$answer = $this->setPlaceholders($string, $lang, 3);
// add to zip array
$this->writeFile($file['path'],$answer);
// set the line counter
$this->lineCount = $this->lineCount + substr_count($answer, PHP_EOL);
foreach ($areas as $area => $languageStrings)
{
// force load if debug lines are added
if (!$this->debugLinenr)
{
// check if we sould install this translation
$dif = bcdiv(count($languageStrings), $mainLangLoader[$area]);
$percentage = bcmul($dif, 100);
if ($percentage < $this->percentageLanguageAdd)
{
// dont add
continue;
}
}
$p = 'admin';
$t = '';
if (strpos($area, 'site') !== false)
{
if ($this->removeSiteFolder)
{
continue;
}
$p = 'site';
}
if (strpos($area, 'sys') !== false)
{
$t = '.sys';
}
// build the path to to place the lang file
$path = $this->componentPath.'/'.$p.'/language/'.$tag;
if (!JFolder::exists($path))
{
JFolder::create($path);
// count the folder created
$this->folderCount++;
}
// build the file name
$fileName = $tag . '.com_' . $this->componentCodeName . $t . '.ini';
// move the file to its place
JFile::copy($getPAth, $path.'/'.$fileName);
// count the file created
$this->fileCount++;
// add content to it
$lang = '';
foreach ($languageStrings as $place => $string)
{
$lang .= $place.'="'.$string.'"'.PHP_EOL;
}
// add to language file
$this->writeFile($path.'/'.$fileName, $lang);
// set the line counter
$this->lineCount = $this->lineCount + substr_count($lang, PHP_EOL);
// build xml strings
if (!isset($langXML[$p]))
{
$langXML[$p] = array();
}
$langXML[$p][] = '<language tag="'.$tag.'">language/'.$tag.'/'.$fileName.'</language>';
}
}
// load the lang xml
if (ComponentbuilderHelper::checkArray($langXML))
{
$replace = array();
if (isset($langXML['admin']) && ComponentbuilderHelper::checkArray($langXML['admin']))
{
$replace['###ADMIN_LANGUAGES###'] = implode(PHP_EOL."\t\t\t", $langXML['admin']);
}
if (!$this->removeSiteFolder && isset($langXML['site']) && ComponentbuilderHelper::checkArray($langXML['site']))
{
$replace['###SITE_LANGUAGES###'] = implode(PHP_EOL."\t\t", $langXML['site']);
}
// build xml path
$xmlPath = $this->componentPath . '/'. $this->fileContentStatic['###component###']. '.xml';
// get the content in xml
$componentXML = file_get_contents($xmlPath);
// update the xml content
$componentXML = $this->setPlaceholders($componentXML, $replace);
// store the values back to xml
$this->writeFile($xmlPath,$componentXML);
}
}
}
}

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilder.php
@ -30,8 +30,43 @@ defined('_JEXEC') or die('Restricted access');
* Componentbuilder component helper.
*/
abstract class ComponentbuilderHelper
{
{
/**
* The Global Admin Event Method.
**/
public static function globalEvent($document)
{
// the Session keeps track of all data related to the current session of this user
self::loadSession();
}
/**
* The global params
**/
protected static $params = false;
/*
* get all component IDs
*/
public static function getComponentIDs()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName(array('id')));
$query->from($db->quoteName('#__componentbuilder_joomla_component'));
$query->where($db->quoteName('published') . ' >= 1'); // do not backup trash
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
return $db->loadColumn();
}
return false;
}
/*
* Autoloader
*/
@ -68,6 +103,72 @@ abstract class ComponentbuilderHelper
// load this for all
jimport('joomla.application');
}
/**
* Remove folders with files
*
* @param string $dir The path to folder to remove
* @param boolean $ignore The folders and files to ignore and not remove
*
* @return boolean True in all is removed
*
*/
public static function removeFolder($dir, $ignore = false)
{
if (JFolder::exists($dir))
{
$it = new RecursiveDirectoryIterator($dir);
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($it as $file)
{
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
if ($file->isDir())
{
$keeper = false;
if (self::checkArray($ignore))
{
foreach ($ignore as $keep)
{
if (strpos($file->getPathname(), $dir.'/'.$keep) !== false)
{
$keeper = true;
}
}
}
if ($keeper)
{
continue;
}
JFolder::delete($file->getPathname());
}
else
{
$keeper = false;
if (self::checkArray($ignore))
{
foreach ($ignore as $keep)
{
if (strpos($file->getPathname(), $dir.'/'.$keep) !== false)
{
$keeper = true;
}
}
}
if ($keeper)
{
continue;
}
JFile::delete($file->getPathname());
}
}
if (!self::checkArray($ignore))
{
return JFolder::delete($dir);
}
return true;
}
return false;
}
/**
* The dynamic builder of views, tables and fields
@ -121,83 +222,28 @@ abstract class ComponentbuilderHelper
}
return false;
}
/**
* Remove folders with files
*
* @param string $dir The path to folder to remove
* @param boolean $git if there is a git folder in that must not be removed
*
* @return boolean True in all is removed
*
*/
public static function removeFolder($dir, $git = false)
{
if (JFolder::exists($dir))
{
$it = new RecursiveDirectoryIterator($dir);
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($it as $file)
{
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
if ($file->isDir())
{
if ($git && strpos($file->getPathname(), $dir.'/.git') !== false) continue;
JFolder::delete($file->getPathname());
}
else
{
if ($git && strpos($file->getPathname(), $dir.'/.git') !== false) continue;
JFile::delete($file->getPathname());
}
}
if (!$git && JFolder::delete($dir))
{
return true;
}
}
return false;
}
/**
* Create file and write data to the file
**/
public static function writeFile($path, $data)
{
$klaar = false;
// open the file
$fh = fopen($path, "w");
if (!is_resource($fh))
{
return false;
return $klaar;
}
// write to the file
if (fwrite($fh, $data))
{
// close file.
fclose($fh);
return true;
// has been done
$klaar = true;
}
// close file.
fclose($fh);
return false;
}
/**
* The user notice info File Name
**/
protected static $usernotice = false;
public static function getFilePath($type, $name = 'listing', $key = '', $fileType = '.json', $PATH = JPATH_COMPONENT_SITE)
{
if (!self::checkString(self::${$type.$name}))
{
// Get local key
$localkey = self::getLocalKey();
// set the name
$fileName = md5($type.$name.$localkey.$key);
// set file path
self::${$type.$name} = $PATH.'/helpers/'.$fileName.$fileType;
}
// return the path
return self::${$type.$name};
return $klaar;
}
public static function getFieldOptions($value, $type, $settings = array())
@ -1044,7 +1090,7 @@ abstract class ComponentbuilderHelper
$script['ext'][] = "\t * @return boolean True on success";
$script['ext'][] = "\t *";
$script['ext'][] = "\t */";
$script['ext'][] = "\tprotected function checkExtention(\$file)";
$script['ext'][] = "\tprotected function checkExtension(\$file)";
$script['ext'][] = "\t{";
$script['ext'][] = "\t\t// check the extention";
$script['ext'][] = "\t\tswitch(strtolower(pathinfo(\$file, PATHINFO_EXTENSION)))";
@ -1065,7 +1111,153 @@ abstract class ComponentbuilderHelper
}
return false;
}
/**
* set the session defaults if not set
**/
protected static function setSessionDefaults()
{
// noting for now
return true;
}
/**
* the Butler
**/
public static $session = array();
/**
* the Butler Assistant
**/
protected static $localSession = array();
/**
* start a session if not already set, and load with data
**/
public static function loadSession()
{
if (!isset(self::$session) || !self::checkObject(self::$session))
{
self::$session = JFactory::getSession();
}
// set the defaults
self::setSessionDefaults();
}
/**
* give Session more to keep
**/
public static function set($key, $value)
{
// set to local memory to speed up program
self::$localSession[$key] = $value;
// load to session for later use
return self::$session->set($key, self::$localSession[$key]);
}
/**
* get info from Session
**/
public static function get($key, $default = null)
{
// check if in local memory
if (!isset(self::$localSession[$key]))
{
// set to local memory to speed up program
self::$localSession[$key] = self::$session->get($key, $default);
}
return self::$localSession[$key];
}
/**
* check if it is a new hash
**/
public static function newHash($hash, $name = 'backup', $type = 'hash', $key = '', $fileType = 'txt')
{
// make sure we have a hash
if (self::checkString($hash))
{
// first get the file path
$path_filename = self::getFilePath('path', $name.$type, $fileType, $key, JPATH_COMPONENT_ADMINISTRATOR);
// set as read if not already set
if (($content = @file_get_contents($path_filename)) !== FALSE)
{
if ($hash == $content)
{
return false;
}
}
// set the hash
return self::writeFile($path_filename, $hash);
}
return false;
}
/**
* Get the file path or url
*
* @param string $type The (url/path) type to return
* @param string $target The Params Target name (if set)
* @param string $fileType The kind of filename to generate (if not set no file name is generated)
* @param string $key The key to adjust the filename (if not set ignored)
* @param string $default The default path if not set in Params (fallback path)
* @param bool $createIfNotSet The switch to create the folder if not found
*
* @return string On success the path or url is returned based on the type requested
*
*/
public static function getFilePath($type = 'path', $target = 'filepath', $fileType = null, $key = '', $default = JPATH_SITE . '/images/', $createIfNotSet = true)
{
// get the global settings
if (!self::checkObject(self::$params))
{
self::$params = JComponentHelper::getParams('com_componentbuilder');
}
$filePath = self::$params->get($target, $default);
// check the file path (revert to default only of not a hidden file path)
if ('hiddenfilepath' !== $target && strpos($filePath, JPATH_SITE) === false)
{
$filePath = JPATH_SITE . '/images/';
}
jimport('joomla.filesystem.folder');
// create the folder if it does not exist
if ($createIfNotSet && !JFolder::exists($filePath))
{
JFolder::create($filePath);
}
// setup the file name
$fileName = '';
if (self::checkString($fileType))
{
// Get basic key
$basickey = 'Th!s_iS_n0t_sAfe_buT_b3tter_then_n0thiug';
if (method_exists(get_called_class(), "getCryptKey"))
{
$basickey = self::getCryptKey('basic', $basickey);
}
// check the key
if (self::checkString($key))
{
$key = 'vDm';
}
// set the name
$fileName = trim(md5($type.$target.$basickey.$key) . '.' . trim($fileType, '.'));
}
// return the url
if ($type === 'url')
{
if (strpos($filePath, JPATH_SITE) !== false)
{
$filePath = trim( str_replace( JPATH_SITE, '', $filePath), '/');
return JURI::root() . $filePath . '/' . $fileName;
}
// since the path is behind the root folder of the site, return only the root url (may be used to build the link)
return JURI::root();
}
// sanitize the path
return '/' . trim( $filePath, '/' ) . '/' . $fileName;
}
/**
* Load the Component xml manifest.
**/
@ -1245,6 +1437,18 @@ abstract class ComponentbuilderHelper
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FIELDTYPES'), 'index.php?option=com_componentbuilder&view=fieldtypes', $submenu === 'fieldtypes');
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_FIELDTYPE_CATEGORY'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fieldtypes', $submenu === 'categories.fieldtypes');
}
if ($user->authorise('language_translation.access', 'com_componentbuilder') && $user->authorise('language_translation.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_LANGUAGE_TRANSLATIONS'), 'index.php?option=com_componentbuilder&view=language_translations', $submenu === 'language_translations');
}
if ($user->authorise('language.access', 'com_componentbuilder') && $user->authorise('language.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_LANGUAGES'), 'index.php?option=com_componentbuilder&view=languages', $submenu === 'languages');
}
if ($user->authorise('ftp.access', 'com_componentbuilder') && $user->authorise('ftp.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FTPS'), 'index.php?option=com_componentbuilder&view=ftps', $submenu === 'ftps');
}
if ($user->authorise('help_document.access', 'com_componentbuilder') && $user->authorise('help_document.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_HELP_DOCUMENTS'), 'index.php?option=com_componentbuilder&view=help_documents', $submenu === 'help_documents');
@ -1596,7 +1800,14 @@ abstract class ComponentbuilderHelper
$query = $db->getQuery(true);
$query->select($db->quoteName(array($what)));
$query->from($db->quoteName('#_'.$main.'_'.$table));
if (empty($table))
{
$query->from($db->quoteName('#__'.$main));
}
else
{
$query->from($db->quoteName('#_'.$main.'_'.$table));
}
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query);
$db->execute();
@ -1879,12 +2090,20 @@ abstract class ComponentbuilderHelper
**/
public static function getModel($name, $path = JPATH_COMPONENT_ADMINISTRATOR, $component = 'componentbuilder')
{
// load some joomla helpers
JLoader::import('joomla.application.component.model');
// load the model file
JLoader::import( $name, $path . '/models' );
// return instance
return JModelLegacy::getInstance( $name, $component.'Model' );
JModelLegacy::addIncludePath( $path . '/models' );
// get instance
$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;
}
/**
@ -2091,10 +2310,16 @@ abstract class ComponentbuilderHelper
return false;
}
// typo sorry!
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))
{
{
$initial = strlen($string);
$words = preg_split('/([\s\n\r]+)/', $string, null, PREG_SPLIT_DELIM_CAPTURE);
$words_count = count($words);
@ -2114,7 +2339,7 @@ abstract class ComponentbuilderHelper
$final = strlen($newString);
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>';
}
elseif ($initial != $final && !$addTip)
@ -2145,7 +2370,8 @@ abstract class ComponentbuilderHelper
// If you don't need to handle multi-byte characters
// you can use preg_replace rather than mb_ereg_replace
// Thanks @Łukasz Rysiak!
$string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
// $string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
$string = preg_replace("([^\w\s\d\-_\(\)])", '', $string);
// http://stackoverflow.com/a/2021729/1429677
return preg_replace('/\s+/', ' ', $string);
}
@ -2212,15 +2438,15 @@ abstract class ComponentbuilderHelper
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))
{
$filter = new JFilterInput();
$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;
}

View File

@ -0,0 +1,348 @@
<?php
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
| |
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage componentbuilderemail.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
/-----------------------------------------------------------------------------------------------------------------------------*/
/**
* Componentbuilder component email helper
*/
abstract class ComponentbuilderEmail
{
/**
* Configuraiton object
*
* @var JConfig
*/
public static $config = null;
/**
* Mailer object
*
* @var JMail
*/
public static $mailer = null;
/**
* Get a configuration object
*
*/
public static function getConfig()
{
if (!self::$config)
{
self::$config = JComponentHelper::getParams('com_componentbuilder');
}
return self::$config;
}
/**
* Get a mailer object.
*
* Returns the global {@link JMail} object, only creating it if it doesn't already exist.
*
* @return JMail object
*
* @see JMail
*/
public static function getMailer()
{
if (!self::$mailer)
{
self::$mailer = self::createMailer();
}
$copy = clone self::$mailer;
return $copy;
}
/**
* Create a mailer object
*
* @return JMail object
*
* @see JMail
*/
protected static function createMailer()
{
// set component params
$conf = self::getConfig();
// now load the mailer
$mailer = $conf->get('mailer', 'global');
// Create a JMail object
$mail = JMail::getInstance();
// check if set to global
if ('global' == $mailer)
{
// get the global details
$globalConf = JFactory::getConfig();
$mailer = $globalConf->get('mailer');
$smtpauth = ($globalConf->get('smtpauth') == 0) ? null : 1;
$smtpuser = $globalConf->get('smtpuser');
$smtppass = $globalConf->get('smtppass');
$smtphost = $globalConf->get('smtphost');
$smtpsecure = $globalConf->get('smtpsecure');
$smtpport = $globalConf->get('smtpport');
$sendmail = $globalConf->get('sendmail');
$mailfrom = $globalConf->get('mailfrom');
$fromname = $globalConf->get('fromname');
$replyto = $globalConf->get('replyto');
$replytoname = $globalConf->get('replytoname');
}
else
{
$smtpauth = ($conf->get('smtpauth') == 0) ? null : 1;
$smtpuser = $conf->get('smtpuser');
$smtppass = $conf->get('smtppass');
$smtphost = $conf->get('smtphost');
$smtpsecure = $conf->get('smtpsecure');
$smtpport = $conf->get('smtpport');
$sendmail = $conf->get('sendmail');
$mailfrom = $conf->get('mailfrom');
$fromname = $conf->get('fromname');
$replyto = $conf->get('replyto');
$replytoname = $conf->get('replytoname');
}
// set the global reply-to if found
if ($replyto && $replytoname)
{
$mail->ClearReplyTos();
$mail->addReplyTo( array( $replyto, $replytoname ) );
}
// Set global sender
$mail->setSender(array($mailfrom, $fromname));
// Default mailer is to use PHP's mail function
switch ($mailer)
{
case 'smtp':
// set the SMTP option
$mail->useSMTP($smtpauth, $smtphost, $smtpuser, $smtppass, $smtpsecure, $smtpport);
break;
case 'sendmail':
// set the sendmail option
$mail->useSendmail($sendmail);
$mail->IsSendmail();
break;
default:
$mail->IsMail();
break;
}
return $mail;
}
/**
* Send an email
*
* @return bool on success
*
*/
public static function send($recipient, $subject, $body, $textonly, $mode = 0, $bounce_email = null, $idsession = null, $mailreply = null, $replyname = null , $mailfrom = null, $fromname = null, $cc = null, $bcc = null, $attachment = null, $embeded = null , $embeds = null)
{
// Get a JMail instance
$mail = self::getMailer();
// set component params
$conf = self::getConfig();
// do some house cleaning
$mail->ClearReplyTos();
// set if we have override
if ($mailfrom && $fromname)
{
$mail->setSender(array($mailfrom, $fromname));
}
// load the bounce email as sender if set
if (!is_null($bounce_email))
{
$mail->Sender = $bounce_email;
}
// Add tag to email to identify it
if (!is_null($idsession))
{
$mail->addCustomHeader('X-VDMmethodID:'.$idsession);
}
// set the subject & Body
$mail->setSubject($subject);
$mail->setBody($body);
// Are we sending the email as HTML?
if ($mode)
{
$mail->IsHTML(true);
$mail->AltBody = $textonly;
}
//embed images
if ($embeded)
{
if(ComponentbuilderHelper::checkArray($embeds))
{
foreach($embeds as $embed)
{
$mail->AddEmbeddedImage($embed->Path,$embed->FileName);
}
}
}
$mail->addRecipient($recipient);
$mail->addCC($cc);
$mail->addBCC($bcc);
$mail->addAttachment($attachment);
// Take care of reply email addresses
if (is_array($mailreply))
{
$mail->ClearReplyTos();
$numReplyTo = count($mailreply);
for ($i=0; $i < $numReplyTo; $i++)
{
$mail->addReplyTo($mailreply[$i], $replyname[$i]);
}
}
elseif (!empty($mailreply))
{
$mail->ClearReplyTos();
$mail->addReplyTo($mailreply, $replyname);
}
// check if we can add the DKIM to email
if ($conf->get('enable_dkim'))
{
if (!empty($conf->get('dkim_domain')) && !empty($conf->get('dkim_selector')) && !empty($conf->get('dkim_private')) && !empty($conf->get('dkim_public')))
{
$mail->DKIM_domain = $conf->get('dkim_domain');
$mail->DKIM_selector = $conf->get('dkim_selector');
$mail->DKIM_identity = $conf->get('dkim_identity');
$mail->DKIM_passphrase = $conf->get('dkim_passphrase');
$tmp = tempnam(sys_get_temp_dir(), 'VDM');
$h = fopen($tmp, 'w');
fwrite($h, $conf->get('dkim_private'));
fclose($h);
$mail->DKIM_private = $tmp;
}
}
$sendmail = $mail->Send();
if ($conf->get('enable_dkim') && !empty($conf->get('dkim_domain')) && !empty($conf->get('dkim_selector')) && !empty($conf->get('dkim_private')) && !empty($conf->get('dkim_public')))
{
@unlink($tmp);
}
if (method_exists('ComponentbuilderHelper','storeMessage'))
{
// store the massage if the method is set
ComponentbuilderHelper::storeMessage($sendmail, $recipient, $subject, $body, $textonly, $mode, 'email');
}
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

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage headercheck.php
@ -26,7 +26,7 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
class HeaderCheck
class componentbuilderHeaderCheck
{
function js_loaded($script_name)
{

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage batch_.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage indenter.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage js.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage minify.php

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,641 @@
COM_COMPONENTBUILDER="Component Builder"
COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS="Admin Views Access"
COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC="Allows the users in this group to access access admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE="Admin Views Batch Use"
COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE="Admin Views Create"
COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC="Allows the users in this group to create create admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD="Admin Views Dashboard Add"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST="Admin Views Dashboard List"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE="Admin Views Delete"
COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC="Allows the users in this group to delete delete admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT="Admin Views Edit"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDCONDITIONS="Admin Views Edit Addconditions"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDCONDITIONS_DESC="Allows the users in this group to update the edit addconditions of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDFIELDS="Admin Views Edit Addfields"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDFIELDS_DESC="Allows the users in this group to update the edit addfields of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDLINKED_VIEWS="Admin Views Edit Addlinked Views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDLINKED_VIEWS_DESC="Allows the users in this group to update the edit addlinked views of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDPERMISSIONS="Admin Views Edit Addpermissions"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDPERMISSIONS_DESC="Allows the users in this group to update the edit addpermissions of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABLES="Admin Views Edit Addtables"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABLES_DESC="Allows the users in this group to update the edit addtables of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABS="Admin Views Edit Addtabs"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADDTABS_DESC="Allows the users in this group to update the edit addtabs of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEW="Admin Views Edit Add Css View"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEWS="Admin Views Edit Add Css Views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEWS_DESC="Allows the users in this group to update the edit add css views of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CSS_VIEW_DESC="Allows the users in this group to update the edit add css view of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_BUTTON="Admin Views Edit Add Custom Button"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_BUTTON_DESC="Allows the users in this group to update the edit add custom button of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_IMPORT="Admin Views Edit Add Custom Import"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_CUSTOM_IMPORT_DESC="Allows the users in this group to update the edit add custom import of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_FADEIN="Admin Views Edit Add Fadein"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_FADEIN_DESC="Allows the users in this group to update the edit add fadein of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FILE="Admin Views Edit Add Javascript Views File"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FILE_DESC="Allows the users in this group to update the edit add javascript views file of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FOOTER="Admin Views Edit Add Javascript Views Footer"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEWS_FOOTER_DESC="Allows the users in this group to update the edit add javascript views footer of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FILE="Admin Views Edit Add Javascript View File"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FILE_DESC="Allows the users in this group to update the edit add javascript view file of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FOOTER="Admin Views Edit Add Javascript View Footer"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_JAVASCRIPT_VIEW_FOOTER_DESC="Allows the users in this group to update the edit add javascript view footer of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_DELETE="Admin Views Edit Add Php After Delete"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_DELETE_DESC="Allows the users in this group to update the edit add php after delete of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_PUBLISH="Admin Views Edit Add Php After Publish"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AFTER_PUBLISH_DESC="Allows the users in this group to update the edit add php after publish of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AJAX="Admin Views Edit Add Php Ajax"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_AJAX_DESC="Allows the users in this group to update the edit add php ajax of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_ALLOWEDIT="Admin Views Edit Add Php Allowedit"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_ALLOWEDIT_DESC="Allows the users in this group to update the edit add php allowedit of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHCOPY="Admin Views Edit Add Php Batchcopy"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHCOPY_DESC="Allows the users in this group to update the edit add php batchcopy of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHMOVE="Admin Views Edit Add Php Batchmove"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BATCHMOVE_DESC="Allows the users in this group to update the edit add php batchmove of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_DELETE="Admin Views Edit Add Php Before Delete"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_DELETE_DESC="Allows the users in this group to update the edit add php before delete of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_PUBLISH="Admin Views Edit Add Php Before Publish"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_PUBLISH_DESC="Allows the users in this group to update the edit add php before publish of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_SAVE="Admin Views Edit Add Php Before Save"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_BEFORE_SAVE_DESC="Allows the users in this group to update the edit add php before save of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_DOCUMENT="Admin Views Edit Add Php Document"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_DOCUMENT_DESC="Allows the users in this group to update the edit add php document of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEM="Admin Views Edit Add Php Getitem"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS="Admin Views Edit Add Php Getitems"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_AFTER_ALL="Admin Views Edit Add Php Getitems After All"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_AFTER_ALL_DESC="Allows the users in this group to update the edit add php getitems after all of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEMS_DESC="Allows the users in this group to update the edit add php getitems of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETITEM_DESC="Allows the users in this group to update the edit add php getitem of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETLISTQUERY="Admin Views Edit Add Php Getlistquery"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_GETLISTQUERY_DESC="Allows the users in this group to update the edit add php getlistquery of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_POSTSAVEHOOK="Admin Views Edit Add Php Postsavehook"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_POSTSAVEHOOK_DESC="Allows the users in this group to update the edit add php postsavehook of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_SAVE="Admin Views Edit Add Php Save"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_PHP_SAVE_DESC="Allows the users in this group to update the edit add php save of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_SQL="Admin Views Edit Add Sql"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ADD_SQL_DESC="Allows the users in this group to update the edit add sql of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_AJAX_INPUT="Admin Views Edit Ajax Input"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_AJAX_INPUT_DESC="Allows the users in this group to update the edit ajax input of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEW="Admin Views Edit Css View"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEWS="Admin Views Edit Css Views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEWS_DESC="Allows the users in this group to update the edit css views of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CSS_VIEW_DESC="Allows the users in this group to update the edit css view of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CUSTOM_BUTTON="Admin Views Edit Custom Button"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_CUSTOM_BUTTON_DESC="Allows the users in this group to update the edit custom button of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESC="Allows the users in this group to edit the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESCRIPTION="Admin Views Edit Description"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESCRIPTION_DESC="Allows the users in this group to update the edit description of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_HTML_IMPORT_VIEW="Admin Views Edit Html Import View"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_HTML_IMPORT_VIEW_DESC="Allows the users in this group to update the edit html import view of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON="Admin Views Edit Icon"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_ADD="Admin Views Edit Icon Add"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_ADD_DESC="Allows the users in this group to update the edit icon add of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_CATEGORY="Admin Views Edit Icon Category"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_CATEGORY_DESC="Allows the users in this group to update the edit icon category of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_ICON_DESC="Allows the users in this group to update the edit icon of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FILE="Admin Views Edit Javascript Views File"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FILE_DESC="Allows the users in this group to update the edit javascript views file of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FOOTER="Admin Views Edit Javascript Views Footer"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEWS_FOOTER_DESC="Allows the users in this group to update the edit javascript views footer of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FILE="Admin Views Edit Javascript View File"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FILE_DESC="Allows the users in this group to update the edit javascript view file of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FOOTER="Admin Views Edit Javascript View Footer"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_JAVASCRIPT_VIEW_FOOTER_DESC="Allows the users in this group to update the edit javascript view footer of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_LIST="Admin Views Edit Name List"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_LIST_DESC="Allows the users in this group to update the edit name list of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_SINGLE="Admin Views Edit Name Single"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_NAME_SINGLE_DESC="Allows the users in this group to update the edit name single of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN="Admin Views Edit Own"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN_DESC="Allows the users in this group to edit edit own admin views created by them"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_DELETE="Admin Views Edit Php After Delete"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_DELETE_DESC="Allows the users in this group to update the edit php after delete of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_PUBLISH="Admin Views Edit Php After Publish"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AFTER_PUBLISH_DESC="Allows the users in this group to update the edit php after publish of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AJAXMETHOD="Admin Views Edit Php Ajaxmethod"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_AJAXMETHOD_DESC="Allows the users in this group to update the edit php ajaxmethod of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_ALLOWEDIT="Admin Views Edit Php Allowedit"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_ALLOWEDIT_DESC="Allows the users in this group to update the edit php allowedit of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHCOPY="Admin Views Edit Php Batchcopy"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHCOPY_DESC="Allows the users in this group to update the edit php batchcopy of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHMOVE="Admin Views Edit Php Batchmove"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BATCHMOVE_DESC="Allows the users in this group to update the edit php batchmove of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_DELETE="Admin Views Edit Php Before Delete"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_DELETE_DESC="Allows the users in this group to update the edit php before delete of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_PUBLISH="Admin Views Edit Php Before Publish"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_PUBLISH_DESC="Allows the users in this group to update the edit php before publish of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_SAVE="Admin Views Edit Php Before Save"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_BEFORE_SAVE_DESC="Allows the users in this group to update the edit php before save of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER="Admin Views Edit Php Controller"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_DESC="Allows the users in this group to update the edit php controller of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_LIST="Admin Views Edit Php Controller List"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_CONTROLLER_LIST_DESC="Allows the users in this group to update the edit php controller list of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_DOCUMENT="Admin Views Edit Php Document"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_DOCUMENT_DESC="Allows the users in this group to update the edit php document of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEM="Admin Views Edit Php Getitem"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS="Admin Views Edit Php Getitems"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_AFTER_ALL="Admin Views Edit Php Getitems After All"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_AFTER_ALL_DESC="Allows the users in this group to update the edit php getitems after all of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEMS_DESC="Allows the users in this group to update the edit php getitems of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETITEM_DESC="Allows the users in this group to update the edit php getitem of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETLISTQUERY="Admin Views Edit Php Getlistquery"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_GETLISTQUERY_DESC="Allows the users in this group to update the edit php getlistquery of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT="Admin Views Edit Php Import"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DESC="Allows the users in this group to update the edit php import of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DISPLAY="Admin Views Edit Php Import Display"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_DISPLAY_DESC="Allows the users in this group to update the edit php import display of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_EXT="Admin Views Edit Php Import Ext"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_EXT_DESC="Allows the users in this group to update the edit php import ext of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SAVE="Admin Views Edit Php Import Save"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SAVE_DESC="Allows the users in this group to update the edit php import save of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SETDATA="Admin Views Edit Php Import Setdata"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_IMPORT_SETDATA_DESC="Allows the users in this group to update the edit php import setdata of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL="Admin Views Edit Php Model"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_DESC="Allows the users in this group to update the edit php model of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_LIST="Admin Views Edit Php Model List"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_MODEL_LIST_DESC="Allows the users in this group to update the edit php model list of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_POSTSAVEHOOK="Admin Views Edit Php Postsavehook"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_POSTSAVEHOOK_DESC="Allows the users in this group to update the edit php postsavehook of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_SAVE="Admin Views Edit Php Save"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_PHP_SAVE_DESC="Allows the users in this group to update the edit php save of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SHORT_DESCRIPTION="Admin Views Edit Short Description"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SHORT_DESCRIPTION_DESC="Allows the users in this group to update the edit short description of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SOURCE="Admin Views Edit Source"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SOURCE_DESC="Allows the users in this group to update the edit source of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SQL="Admin Views Edit Sql"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SQL_DESC="Allows the users in this group to update the edit sql of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE="Admin Views Edit State"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE_DESC="Allows the users in this group to update the state of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SYSTEM_NAME="Admin Views Edit System Name"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_SYSTEM_NAME_DESC="Allows the users in this group to update the edit system name of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_TYPE="Admin Views Edit Type"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_TYPE_DESC="Allows the users in this group to update the edit type of the admin view"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION="Admin Views Edit Version"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT="Admin Views Export"
COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT_DESC="Allows the users in this group to export export admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT="Admin Views Import"
COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC="Allows the users in this group to import import admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU="Admin Views Submenu"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the admin view"
COM_COMPONENTBUILDER_COMPILER_ACCESS="Compiler Access"
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC=" Allows the users in this group to access compiler."
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clear tmp button."
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the Compiler"
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to update the submenu of the Compiler"
COM_COMPONENTBUILDER_CONFIGURATION="Component Builder Configuration"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_ACCESS="Custom Admin Views Access"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_ACCESS_DESC="Allows the users in this group to access access custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE="Custom Admin Views Batch Use"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_CREATE="Custom Admin Views Create"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_CREATE_DESC="Allows the users in this group to create create custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD="Custom Admin Views Dashboard Add"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST="Custom Admin Views Dashboard List"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DELETE="Custom Admin Views Delete"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DELETE_DESC="Allows the users in this group to delete delete custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT="Custom Admin Views Edit"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_DESC="Allows the users in this group to edit the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_OWN="Custom Admin Views Edit Own"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_OWN_DESC="Allows the users in this group to edit edit own custom admin views created by them"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_STATE="Custom Admin Views Edit State"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_STATE_DESC="Allows the users in this group to update the state of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_VERSION="Custom Admin Views Edit Version"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EXPORT="Custom Admin Views Export"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EXPORT_DESC="Allows the users in this group to export export custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT="Custom Admin Views Import"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT_DESC="Allows the users in this group to import import custom admin views"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU="Custom Admin Views Submenu"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the custom admin view"
COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS="Custom Codes Access"
COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS_DESC="Allows the users in this group to access access custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_BATCH_USE="Custom Codes Batch Use"
COM_COMPONENTBUILDER_CUSTOM_CODES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE="Custom Codes Create"
COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE_DESC="Allows the users in this group to create create custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST="Custom Codes Dashboard List"
COM_COMPONENTBUILDER_CUSTOM_CODES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_DELETE="Custom Codes Delete"
COM_COMPONENTBUILDER_CUSTOM_CODES_DELETE_DESC="Allows the users in this group to delete delete custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT="Custom Codes Edit"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_CREATED_BY="Custom Codes Edit Created By"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_CREATED_DATE="Custom Codes Edit Created Date"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_DESC="Allows the users in this group to edit the custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_OWN="Custom Codes Edit Own"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_OWN_DESC="Allows the users in this group to edit edit own custom codes created by them"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_STATE="Custom Codes Edit State"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_STATE_DESC="Allows the users in this group to update the state of the custom code"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_VERSION="Custom Codes Edit Version"
COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT="Custom Codes Export"
COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT_DESC="Allows the users in this group to export export custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT="Custom Codes Import"
COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT_DESC="Allows the users in this group to import import custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU="Custom Codes Submenu"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC="Allows the users in this group to update the submenu of the custom code"
COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS="Dynamic Gets Access"
COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS_DESC="Allows the users in this group to access access dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE="Dynamic Gets Batch Use"
COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE="Dynamic Gets Create"
COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE_DESC="Allows the users in this group to create create dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD="Dynamic Gets Dashboard Add"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST="Dynamic Gets Dashboard List"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DELETE="Dynamic Gets Delete"
COM_COMPONENTBUILDER_DYNAMIC_GETS_DELETE_DESC="Allows the users in this group to delete delete dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT="Dynamic Gets Edit"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_DESC="Allows the users in this group to edit the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_OWN="Dynamic Gets Edit Own"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_OWN_DESC="Allows the users in this group to edit edit own dynamic gets created by them"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_STATE="Dynamic Gets Edit State"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_STATE_DESC="Allows the users in this group to update the state of the dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_VERSION="Dynamic Gets Edit Version"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT="Dynamic Gets Export"
COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT_DESC="Allows the users in this group to export export dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT="Dynamic Gets Import"
COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC="Allows the users in this group to import import dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU="Dynamic Gets Submenu"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the dynamic get"
COM_COMPONENTBUILDER_EDIT_CREATED_BY="Edit Created By"
COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC=" Allows users in this group to edit created by."
COM_COMPONENTBUILDER_EDIT_CREATED_DATE="Edit Created Date"
COM_COMPONENTBUILDER_EDIT_CREATED_DATE_DESC=" Allows users in this group to edit created date."
COM_COMPONENTBUILDER_EDIT_VERSIONS="Edit Version"
COM_COMPONENTBUILDER_EDIT_VERSIONS_DESC=" Allows users in this group to edit versions."
COM_COMPONENTBUILDER_EXPORT_DATA="Export Data"
COM_COMPONENTBUILDER_EXPORT_DATA_DESC=" Allows users in this group to export data."
COM_COMPONENTBUILDER_FIELDS_ACCESS="Fields Access"
COM_COMPONENTBUILDER_FIELDS_ACCESS_DESC="Allows the users in this group to access access fields"
COM_COMPONENTBUILDER_FIELDS_BATCH_USE="Fields Batch Use"
COM_COMPONENTBUILDER_FIELDS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch fields"
COM_COMPONENTBUILDER_FIELDS_CREATE="Fields Create"
COM_COMPONENTBUILDER_FIELDS_CREATE_DESC="Allows the users in this group to create create fields"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD="Fields Dashboard Add"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the field"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST="Fields Dashboard List"
COM_COMPONENTBUILDER_FIELDS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the field"
COM_COMPONENTBUILDER_FIELDS_DELETE="Fields Delete"
COM_COMPONENTBUILDER_FIELDS_DELETE_DESC="Allows the users in this group to delete delete fields"
COM_COMPONENTBUILDER_FIELDS_EDIT="Fields Edit"
COM_COMPONENTBUILDER_FIELDS_EDIT_DESC="Allows the users in this group to edit the field"
COM_COMPONENTBUILDER_FIELDS_EDIT_OWN="Fields Edit Own"
COM_COMPONENTBUILDER_FIELDS_EDIT_OWN_DESC="Allows the users in this group to edit edit own fields created by them"
COM_COMPONENTBUILDER_FIELDS_EDIT_STATE="Fields Edit State"
COM_COMPONENTBUILDER_FIELDS_EDIT_STATE_DESC="Allows the users in this group to update the state of the field"
COM_COMPONENTBUILDER_FIELDS_EDIT_VERSION="Fields Edit Version"
COM_COMPONENTBUILDER_FIELDS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version fields"
COM_COMPONENTBUILDER_FIELDS_EXPORT="Fields Export"
COM_COMPONENTBUILDER_FIELDS_EXPORT_DESC="Allows the users in this group to export export fields"
COM_COMPONENTBUILDER_FIELDS_IMPORT="Fields Import"
COM_COMPONENTBUILDER_FIELDS_IMPORT_DESC="Allows the users in this group to import import fields"
COM_COMPONENTBUILDER_FIELDS_SUBMENU="Fields Submenu"
COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC="Allows the users in this group to update the submenu of the field"
COM_COMPONENTBUILDER_FIELDTYPES_ACCESS="Fieldtypes Access"
COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC="Allows the users in this group to access access fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE="Fieldtypes Batch Use"
COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_CREATE="Fieldtypes Create"
COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC="Allows the users in this group to create create fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD="Fieldtypes Dashboard Add"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST="Fieldtypes Dashboard List"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE="Fieldtypes Delete"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC="Allows the users in this group to delete delete fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT="Fieldtypes Edit"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC="Allows the users in this group to edit the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN="Fieldtypes Edit Own"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC="Allows the users in this group to edit edit own fieldtypes created by them"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE="Fieldtypes Edit State"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC="Allows the users in this group to update the state of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION="Fieldtypes Edit Version"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_EXPORT="Fieldtypes Export"
COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC="Allows the users in this group to export export fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to update the submenu of the fieldtype"
COM_COMPONENTBUILDER_FTPS_ACCESS="Ftps Access"
COM_COMPONENTBUILDER_FTPS_ACCESS_DESC="Allows the users in this group to access access ftps"
COM_COMPONENTBUILDER_FTPS_BATCH_USE="Ftps Batch Use"
COM_COMPONENTBUILDER_FTPS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch ftps"
COM_COMPONENTBUILDER_FTPS_CREATE="Ftps Create"
COM_COMPONENTBUILDER_FTPS_CREATE_DESC="Allows the users in this group to create create ftps"
COM_COMPONENTBUILDER_FTPS_DASHBOARD_LIST="Ftps Dashboard List"
COM_COMPONENTBUILDER_FTPS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the ftp"
COM_COMPONENTBUILDER_FTPS_DELETE="Ftps Delete"
COM_COMPONENTBUILDER_FTPS_DELETE_DESC="Allows the users in this group to delete delete ftps"
COM_COMPONENTBUILDER_FTPS_EDIT="Ftps Edit"
COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_BY="Ftps Edit Created By"
COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by ftps"
COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_DATE="Ftps Edit Created Date"
COM_COMPONENTBUILDER_FTPS_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created ftps"
COM_COMPONENTBUILDER_FTPS_EDIT_DESC="Allows the users in this group to edit the ftp"
COM_COMPONENTBUILDER_FTPS_EDIT_NAME="Ftps Edit Name"
COM_COMPONENTBUILDER_FTPS_EDIT_NAME_DESC="Allows the users in this group to update the edit name of the ftp"
COM_COMPONENTBUILDER_FTPS_EDIT_OWN="Ftps Edit Own"
COM_COMPONENTBUILDER_FTPS_EDIT_OWN_DESC="Allows the users in this group to edit edit own ftps created by them"
COM_COMPONENTBUILDER_FTPS_EDIT_SIGNATURE="Ftps Edit Signature"
COM_COMPONENTBUILDER_FTPS_EDIT_SIGNATURE_DESC="Allows the users in this group to update the edit signature of the ftp"
COM_COMPONENTBUILDER_FTPS_EDIT_STATE="Ftps Edit State"
COM_COMPONENTBUILDER_FTPS_EDIT_STATE_DESC="Allows the users in this group to update the state of the ftp"
COM_COMPONENTBUILDER_FTPS_EDIT_VERSION="Ftps Edit Version"
COM_COMPONENTBUILDER_FTPS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version ftps"
COM_COMPONENTBUILDER_FTPS_EXPORT="Ftps Export"
COM_COMPONENTBUILDER_FTPS_EXPORT_DESC="Allows the users in this group to export export ftps"
COM_COMPONENTBUILDER_FTPS_IMPORT="Ftps Import"
COM_COMPONENTBUILDER_FTPS_IMPORT_DESC="Allows the users in this group to import import ftps"
COM_COMPONENTBUILDER_FTPS_SUBMENU="Ftps Submenu"
COM_COMPONENTBUILDER_FTPS_SUBMENU_DESC="Allows the users in this group to update the submenu of the ftp"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS="Help Documents Access"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS_DESC="Allows the users in this group to access access help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE="Help Documents Batch Use"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE="Help Documents Create"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_CREATE_DESC="Allows the users in this group to create create help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_ADD="Help Documents Dashboard Add"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST="Help Documents Dashboard List"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DELETE="Help Documents Delete"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_DELETE_DESC="Allows the users in this group to delete delete help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT="Help Documents Edit"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_DESC="Allows the users in this group to edit the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN="Help Documents Edit Own"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC="Allows the users in this group to edit edit own help documents created by them"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_STATE="Help Documents Edit State"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_STATE_DESC="Allows the users in this group to update the state of the help document"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION="Help Documents Edit Version"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT="Help Documents Export"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT_DESC="Allows the users in this group to export export help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT="Help Documents Import"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT_DESC="Allows the users in this group to import import help documents"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU="Help Documents Submenu"
COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the help document"
COM_COMPONENTBUILDER_IMPORT_DATA="Import Data"
COM_COMPONENTBUILDER_IMPORT_DATA_DESC=" Allows users in this group to import data."
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS="Joomla Components Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC="Allows the users in this group to access access joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE="Joomla Components Batch Use"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD="Joomla Components Dashboard Add"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST="Joomla Components Dashboard List"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS="Joomla Components Edit Addadmin Views"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS_DESC="Allows the users in this group to update the edit addadmin views of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONFIG="Joomla Components Edit Addconfig"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONFIG_DESC="Allows the users in this group to update the edit addconfig of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS="Joomla Components Edit Addcontributors"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS_DESC="Allows the users in this group to update the edit addcontributors of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS="Joomla Components Edit Addcustommenus"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS_DESC="Allows the users in this group to update the edit addcustommenus of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOM_ADMIN_VIEWS="Joomla Components Edit Addcustom Admin Views"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOM_ADMIN_VIEWS_DESC="Allows the users in this group to update the edit addcustom admin views of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES="Joomla Components Edit Addfiles"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES_DESC="Allows the users in this group to update the edit addfiles of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOLDERS="Joomla Components Edit Addfolders"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOLDERS_DESC="Allows the users in this group to update the edit addfolders of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOOTABLE="Joomla Components Edit Addfootable"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFOOTABLE_DESC="Allows the users in this group to update the edit addfootable of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME="Joomla Components Edit Addreadme"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME_DESC="Allows the users in this group to update the edit addreadme of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDSITE_VIEWS="Joomla Components Edit Addsite Views"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDSITE_VIEWS_DESC="Allows the users in this group to update the edit addsite views of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDUIKIT="Joomla Components Edit Adduikit"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDUIKIT_DESC="Allows the users in this group to update the edit adduikit of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_ADMIN_EVENT="Joomla Components Edit Add Admin Event"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_ADMIN_EVENT_DESC="Allows the users in this group to update the edit add admin event of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_CSS="Joomla Components Edit Add Css"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_CSS_DESC="Allows the users in this group to update the edit add css of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_EMAIL_HELPER="Joomla Components Edit Add Email Helper"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_EMAIL_HELPER_DESC="Allows the users in this group to update the edit add email helper of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_LICENSE="Joomla Components Edit Add License"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_LICENSE_DESC="Allows the users in this group to update the edit add license of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_DASHBOARD_METHODS="Joomla Components Edit Add Php Dashboard Methods"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_DASHBOARD_METHODS_DESC="Allows the users in this group to update the edit add php dashboard methods of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_ADMIN="Joomla Components Edit Add Php Helper Admin"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_ADMIN_DESC="Allows the users in this group to update the edit add php helper admin of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_BOTH="Joomla Components Edit Add Php Helper Both"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_BOTH_DESC="Allows the users in this group to update the edit add php helper both of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_SITE="Joomla Components Edit Add Php Helper Site"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_HELPER_SITE_DESC="Allows the users in this group to update the edit add php helper site of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_METHOD_UNINSTALL="Joomla Components Edit Add Php Method Uninstall"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_METHOD_UNINSTALL_DESC="Allows the users in this group to update the edit add php method uninstall of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_INSTALL="Joomla Components Edit Add Php Postflight Install"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_INSTALL_DESC="Allows the users in this group to update the edit add php postflight install of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_UPDATE="Joomla Components Edit Add Php Postflight Update"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_POSTFLIGHT_UPDATE_DESC="Allows the users in this group to update the edit add php postflight update of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_INSTALL="Joomla Components Edit Add Php Preflight Install"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_INSTALL_DESC="Allows the users in this group to update the edit add php preflight install of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_UPDATE="Joomla Components Edit Add Php Preflight Update"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_PHP_PREFLIGHT_UPDATE_DESC="Allows the users in this group to update the edit add php preflight update of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SALES_SERVER="Joomla Components Edit Add Sales Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SALES_SERVER_DESC="Allows the users in this group to update the edit add sales server of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SITE_EVENT="Joomla Components Edit Add Site Event"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SITE_EVENT_DESC="Allows the users in this group to update the edit add site event of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SQL="Joomla Components Edit Add Sql"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_SQL_DESC="Allows the users in this group to update the edit add sql of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_UPDATE_SERVER="Joomla Components Edit Add Update Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_UPDATE_SERVER_DESC="Allows the users in this group to update the edit add update server of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_AUTHOR="Joomla Components Edit Author"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_AUTHOR_DESC="Allows the users in this group to update the edit author of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM="Joomla Components Edit Bom"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM_DESC="Allows the users in this group to update the edit bom of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMP="Joomla Components Edit Buildcomp"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMPSQL="Joomla Components Edit Buildcompsql"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMPSQL_DESC="Allows the users in this group to update the edit buildcompsql of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BUILDCOMP_DESC="Allows the users in this group to update the edit buildcomp of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPANYNAME="Joomla Components Edit Companyname"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPANYNAME_DESC="Allows the users in this group to update the edit companyname of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPONENT_VERSION="Joomla Components Edit Component Version"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COMPONENT_VERSION_DESC="Allows the users in this group to update the edit component version of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT="Joomla Components Edit Copyright"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT_DESC="Allows the users in this group to update the edit copyright of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER="Joomla Components Edit Creatuserhelper"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER_DESC="Allows the users in this group to update the edit creatuserhelper of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS="Joomla Components Edit Css"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS_DESC="Allows the users in this group to update the edit css of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DASHBOARD_TAB="Joomla Components Edit Dashboard Tab"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DASHBOARD_TAB_DESC="Allows the users in this group to update the edit dashboard tab of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DEBUG_LINENR="Joomla Components Edit Debug Linenr"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DEBUG_LINENR_DESC="Allows the users in this group to update the edit debug linenr of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION="Joomla Components Edit Description"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION_DESC="Allows the users in this group to update the edit description of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMAIL="Joomla Components Edit Email"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMAIL_DESC="Allows the users in this group to update the edit email of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS="Joomla Components Edit Emptycontributors"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS_DESC="Allows the users in this group to update the edit emptycontributors of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_BUY_LINK="Joomla Components Edit Export Buy Link"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_BUY_LINK_DESC="Allows the users in this group to update the edit export buy link of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_KEY="Joomla Components Edit Export Key"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_KEY_DESC="Allows the users in this group to update the edit export key of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_PACKAGE_LINK="Joomla Components Edit Export Package Link"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EXPORT_PACKAGE_LINK_DESC="Allows the users in this group to update the edit export package link of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE="Joomla Components Edit Image"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE_DESC="Allows the users in this group to update the edit image of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE="Joomla Components Edit License"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_DESC="Allows the users in this group to update the edit license of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_TYPE="Joomla Components Edit License Type"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_TYPE_DESC="Allows the users in this group to update the edit license type of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_MVC_VERSIONDATE="Joomla Components Edit Mvc Versiondate"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_MVC_VERSIONDATE_DESC="Allows the users in this group to update the edit mvc versiondate of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME="Joomla Components Edit Name"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_CODE="Joomla Components Edit Name Code"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_CODE_DESC="Allows the users in this group to update the edit name code of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_DESC="Allows the users in this group to update the edit name of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER="Joomla Components Edit Number"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER_DESC="Allows the users in this group to update the edit number of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_ADMIN_EVENT="Joomla Components Edit Php Admin Event"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_ADMIN_EVENT_DESC="Allows the users in this group to update the edit php admin event of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_DASHBOARD_METHODS="Joomla Components Edit Php Dashboard Methods"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_DASHBOARD_METHODS_DESC="Allows the users in this group to update the edit php dashboard methods of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_ADMIN="Joomla Components Edit Php Helper Admin"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_ADMIN_DESC="Allows the users in this group to update the edit php helper admin of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_BOTH="Joomla Components Edit Php Helper Both"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_BOTH_DESC="Allows the users in this group to update the edit php helper both of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_SITE="Joomla Components Edit Php Helper Site"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_HELPER_SITE_DESC="Allows the users in this group to update the edit php helper site of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_METHOD_UNINSTALL="Joomla Components Edit Php Method Uninstall"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_METHOD_UNINSTALL_DESC="Allows the users in this group to update the edit php method uninstall of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_INSTALL="Joomla Components Edit Php Postflight Install"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_INSTALL_DESC="Allows the users in this group to update the edit php postflight install of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_UPDATE="Joomla Components Edit Php Postflight Update"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_POSTFLIGHT_UPDATE_DESC="Allows the users in this group to update the edit php postflight update of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_INSTALL="Joomla Components Edit Php Preflight Install"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_INSTALL_DESC="Allows the users in this group to update the edit php preflight install of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_UPDATE="Joomla Components Edit Php Preflight Update"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_PREFLIGHT_UPDATE_DESC="Allows the users in this group to update the edit php preflight update of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_SITE_EVENT="Joomla Components Edit Php Site Event"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_PHP_SITE_EVENT_DESC="Allows the users in this group to update the edit php site event of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README="Joomla Components Edit Readme"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README_DESC="Allows the users in this group to update the edit readme of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SALES_SERVER_FTP="Joomla Components Edit Sales Server Ftp"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SALES_SERVER_FTP_DESC="Allows the users in this group to update the edit sales server ftp of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SHORT_DESCRIPTION="Joomla Components Edit Short Description"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SHORT_DESCRIPTION_DESC="Allows the users in this group to update the edit short description of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL="Joomla Components Edit Sql"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_DESC="Allows the users in this group to update the edit sql of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK="Joomla Components Edit Sql Tweak"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK_DESC="Allows the users in this group to update the edit sql tweak of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SYSTEM_NAME="Joomla Components Edit System Name"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SYSTEM_NAME_DESC="Allows the users in this group to update the edit system name of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_TOIGNORE="Joomla Components Edit Toignore"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_TOIGNORE_DESC="Allows the users in this group to update the edit toignore of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER="Joomla Components Edit Update Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_DESC="Allows the users in this group to update the edit update server of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_FTP="Joomla Components Edit Update Server Ftp"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_FTP_DESC="Allows the users in this group to update the edit update server ftp of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_TARGET="Joomla Components Edit Update Server Target"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER_TARGET_DESC="Allows the users in this group to update the edit update server target of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION="Joomla Components Edit Version"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_UPDATE="Joomla Components Edit Version Update"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_UPDATE_DESC="Allows the users in this group to update the edit version update of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WEBSITE="Joomla Components Edit Website"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WEBSITE_DESC="Allows the users in this group to update the edit website of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_KEY="Joomla Components Edit Whmcs Key"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_KEY_DESC="Allows the users in this group to update the edit whmcs key of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_URL="Joomla Components Edit Whmcs Url"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_WHMCS_URL_DESC="Allows the users in this group to update the edit whmcs url of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT="Joomla Components Export"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT_DESC="Allows the users in this group to export export joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT="Joomla Components Import"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT_DESC="Allows the users in this group to import import joomla components"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU="Joomla Components Submenu"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS="Joomla Component Backup Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the backup button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS="Joomla Component Export Components Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_COMPONENTS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the export components button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS="Joomla Component Import Components Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_COMPONENTS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the import components button."
COM_COMPONENTBUILDER_LANGUAGES_ACCESS="Languages Access"
COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC="Allows the users in this group to access access languages"
COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE="Languages Batch Use"
COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch languages"
COM_COMPONENTBUILDER_LANGUAGES_CREATE="Languages Create"
COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC="Allows the users in this group to create create languages"
COM_COMPONENTBUILDER_LANGUAGES_DELETE="Languages Delete"
COM_COMPONENTBUILDER_LANGUAGES_DELETE_DESC="Allows the users in this group to delete delete languages"
COM_COMPONENTBUILDER_LANGUAGES_EDIT="Languages Edit"
COM_COMPONENTBUILDER_LANGUAGES_EDIT_DESC="Allows the users in this group to edit the language"
COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN="Languages Edit Own"
COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN_DESC="Allows the users in this group to edit edit own languages created by them"
COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE="Languages Edit State"
COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE_DESC="Allows the users in this group to update the state of the language"
COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION="Languages Edit Version"
COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version languages"
COM_COMPONENTBUILDER_LANGUAGES_EXPORT="Languages Export"
COM_COMPONENTBUILDER_LANGUAGES_EXPORT_DESC="Allows the users in this group to export export languages"
COM_COMPONENTBUILDER_LANGUAGES_IMPORT="Languages Import"
COM_COMPONENTBUILDER_LANGUAGES_IMPORT_DESC="Allows the users in this group to import import languages"
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU="Languages Submenu"
COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC="Allows the users in this group to update the submenu of the language"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS="Language Translations Access"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS_DESC="Allows the users in this group to access access language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE="Language Translations Batch Use"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE="Language Translations Create"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_CREATE_DESC="Allows the users in this group to create create language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST="Language Translations Dashboard List"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE="Language Translations Delete"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_DELETE_DESC="Allows the users in this group to delete delete language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT="Language Translations Edit"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_DESC="Allows the users in this group to edit the language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN="Language Translations Edit Own"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN_DESC="Allows the users in this group to edit edit own language translations created by them"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE="Language Translations Edit State"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE_DESC="Allows the users in this group to update the state of the language translation"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION="Language Translations Edit Version"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EXPORT="Language Translations Export"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EXPORT_DESC="Allows the users in this group to export export language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT="Language Translations Import"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT_DESC="Allows the users in this group to import import language translations"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU="Language Translations Submenu"
COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC="Allows the users in this group to update the submenu of the language translation"
COM_COMPONENTBUILDER_LAYOUTS_ACCESS="Layouts Access"
COM_COMPONENTBUILDER_LAYOUTS_ACCESS_DESC="Allows the users in this group to access access layouts"
COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE="Layouts Batch Use"
COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch layouts"
COM_COMPONENTBUILDER_LAYOUTS_CREATE="Layouts Create"
COM_COMPONENTBUILDER_LAYOUTS_CREATE_DESC="Allows the users in this group to create create layouts"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD="Layouts Dashboard Add"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST="Layouts Dashboard List"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the layout"
COM_COMPONENTBUILDER_LAYOUTS_DELETE="Layouts Delete"
COM_COMPONENTBUILDER_LAYOUTS_DELETE_DESC="Allows the users in this group to delete delete layouts"
COM_COMPONENTBUILDER_LAYOUTS_EDIT="Layouts Edit"
COM_COMPONENTBUILDER_LAYOUTS_EDIT_DESC="Allows the users in this group to edit the layout"
COM_COMPONENTBUILDER_LAYOUTS_EDIT_OWN="Layouts Edit Own"
COM_COMPONENTBUILDER_LAYOUTS_EDIT_OWN_DESC="Allows the users in this group to edit edit own layouts created by them"
COM_COMPONENTBUILDER_LAYOUTS_EDIT_STATE="Layouts Edit State"
COM_COMPONENTBUILDER_LAYOUTS_EDIT_STATE_DESC="Allows the users in this group to update the state of the layout"
COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION="Layouts Edit Version"
COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version layouts"
COM_COMPONENTBUILDER_LAYOUTS_EXPORT="Layouts Export"
COM_COMPONENTBUILDER_LAYOUTS_EXPORT_DESC="Allows the users in this group to export export layouts"
COM_COMPONENTBUILDER_LAYOUTS_IMPORT="Layouts Import"
COM_COMPONENTBUILDER_LAYOUTS_IMPORT_DESC="Allows the users in this group to import import layouts"
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU="Layouts Submenu"
COM_COMPONENTBUILDER_LAYOUTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the layout"
COM_COMPONENTBUILDER_MENU="&#187; Component Builder"
COM_COMPONENTBUILDER_MENU_ADMIN_VIEWS="Admin Views"
COM_COMPONENTBUILDER_MENU_COMPILER="Compiler"
@ -10,7 +646,88 @@ COM_COMPONENTBUILDER_MENU_FIELDS="Fields"
COM_COMPONENTBUILDER_MENU_FIELDTYPES="Fieldtypes"
COM_COMPONENTBUILDER_MENU_HELP_DOCUMENTS="Help Documents"
COM_COMPONENTBUILDER_MENU_JOOMLA_COMPONENTS="Joomla Components"
COM_COMPONENTBUILDER_MENU_LANGUAGE_TRANSLATIONS="Language Translations"
COM_COMPONENTBUILDER_MENU_LAYOUTS="Layouts"
COM_COMPONENTBUILDER_MENU_SITE_VIEWS="Site Views"
COM_COMPONENTBUILDER_MENU_SNIPPETS="Snippets"
COM_COMPONENTBUILDER_MENU_TEMPLATES="Templates"
COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS="Site Views Access"
COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS_DESC="Allows the users in this group to access access site views"
COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE="Site Views Batch Use"
COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch site views"
COM_COMPONENTBUILDER_SITE_VIEWS_CREATE="Site Views Create"
COM_COMPONENTBUILDER_SITE_VIEWS_CREATE_DESC="Allows the users in this group to create create site views"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD="Site Views Dashboard Add"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST="Site Views Dashboard List"
COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_DELETE="Site Views Delete"
COM_COMPONENTBUILDER_SITE_VIEWS_DELETE_DESC="Allows the users in this group to delete delete site views"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT="Site Views Edit"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_DESC="Allows the users in this group to edit the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_OWN="Site Views Edit Own"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_OWN_DESC="Allows the users in this group to edit edit own site views created by them"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_STATE="Site Views Edit State"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_STATE_DESC="Allows the users in this group to update the state of the site view"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_VERSION="Site Views Edit Version"
COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version site views"
COM_COMPONENTBUILDER_SITE_VIEWS_EXPORT="Site Views Export"
COM_COMPONENTBUILDER_SITE_VIEWS_EXPORT_DESC="Allows the users in this group to export export site views"
COM_COMPONENTBUILDER_SITE_VIEWS_IMPORT="Site Views Import"
COM_COMPONENTBUILDER_SITE_VIEWS_IMPORT_DESC="Allows the users in this group to import import site views"
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU="Site Views Submenu"
COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU_DESC="Allows the users in this group to update the submenu of the site view"
COM_COMPONENTBUILDER_SNIPPETS_ACCESS="Snippets Access"
COM_COMPONENTBUILDER_SNIPPETS_ACCESS_DESC="Allows the users in this group to access access snippets"
COM_COMPONENTBUILDER_SNIPPETS_BATCH_USE="Snippets Batch Use"
COM_COMPONENTBUILDER_SNIPPETS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch snippets"
COM_COMPONENTBUILDER_SNIPPETS_CREATE="Snippets Create"
COM_COMPONENTBUILDER_SNIPPETS_CREATE_DESC="Allows the users in this group to create create snippets"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_ADD="Snippets Dashboard Add"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the snippet"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST="Snippets Dashboard List"
COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the snippet"
COM_COMPONENTBUILDER_SNIPPETS_DELETE="Snippets Delete"
COM_COMPONENTBUILDER_SNIPPETS_DELETE_DESC="Allows the users in this group to delete delete snippets"
COM_COMPONENTBUILDER_SNIPPETS_EDIT="Snippets Edit"
COM_COMPONENTBUILDER_SNIPPETS_EDIT_DESC="Allows the users in this group to edit the snippet"
COM_COMPONENTBUILDER_SNIPPETS_EDIT_OWN="Snippets Edit Own"
COM_COMPONENTBUILDER_SNIPPETS_EDIT_OWN_DESC="Allows the users in this group to edit edit own snippets created by them"
COM_COMPONENTBUILDER_SNIPPETS_EDIT_STATE="Snippets Edit State"
COM_COMPONENTBUILDER_SNIPPETS_EDIT_STATE_DESC="Allows the users in this group to update the state of the snippet"
COM_COMPONENTBUILDER_SNIPPETS_EDIT_VERSION="Snippets Edit Version"
COM_COMPONENTBUILDER_SNIPPETS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version snippets"
COM_COMPONENTBUILDER_SNIPPETS_EXPORT="Snippets Export"
COM_COMPONENTBUILDER_SNIPPETS_EXPORT_DESC="Allows the users in this group to export export snippets"
COM_COMPONENTBUILDER_SNIPPETS_IMPORT="Snippets Import"
COM_COMPONENTBUILDER_SNIPPETS_IMPORT_DESC="Allows the users in this group to import import snippets"
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU="Snippets Submenu"
COM_COMPONENTBUILDER_SNIPPETS_SUBMENU_DESC="Allows the users in this group to update the submenu of the snippet"
COM_COMPONENTBUILDER_TEMPLATES_ACCESS="Templates Access"
COM_COMPONENTBUILDER_TEMPLATES_ACCESS_DESC="Allows the users in this group to access access templates"
COM_COMPONENTBUILDER_TEMPLATES_BATCH_USE="Templates Batch Use"
COM_COMPONENTBUILDER_TEMPLATES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch templates"
COM_COMPONENTBUILDER_TEMPLATES_CREATE="Templates Create"
COM_COMPONENTBUILDER_TEMPLATES_CREATE_DESC="Allows the users in this group to create create templates"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD="Templates Dashboard Add"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD_DESC="Allows the users in this group to update the dashboard add of the template"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST="Templates Dashboard List"
COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the template"
COM_COMPONENTBUILDER_TEMPLATES_DELETE="Templates Delete"
COM_COMPONENTBUILDER_TEMPLATES_DELETE_DESC="Allows the users in this group to delete delete templates"
COM_COMPONENTBUILDER_TEMPLATES_EDIT="Templates Edit"
COM_COMPONENTBUILDER_TEMPLATES_EDIT_DESC="Allows the users in this group to edit the template"
COM_COMPONENTBUILDER_TEMPLATES_EDIT_OWN="Templates Edit Own"
COM_COMPONENTBUILDER_TEMPLATES_EDIT_OWN_DESC="Allows the users in this group to edit edit own templates created by them"
COM_COMPONENTBUILDER_TEMPLATES_EDIT_STATE="Templates Edit State"
COM_COMPONENTBUILDER_TEMPLATES_EDIT_STATE_DESC="Allows the users in this group to update the state of the template"
COM_COMPONENTBUILDER_TEMPLATES_EDIT_VERSION="Templates Edit Version"
COM_COMPONENTBUILDER_TEMPLATES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version templates"
COM_COMPONENTBUILDER_TEMPLATES_EXPORT="Templates Export"
COM_COMPONENTBUILDER_TEMPLATES_EXPORT_DESC="Allows the users in this group to export export templates"
COM_COMPONENTBUILDER_TEMPLATES_IMPORT="Templates Import"
COM_COMPONENTBUILDER_TEMPLATES_IMPORT_DESC="Allows the users in this group to import import templates"
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU="Templates Submenu"
COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC="Allows the users in this group to update the submenu of the template"
COM_COMPONENTBUILDER_USE_BATCH="Use Batch"
COM_COMPONENTBUILDER_USE_BATCH_DESC=" Allows users in this group to use batch copy/update method."

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage css_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_buttons_left.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage custom_import_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage fields_fullwidth.php
@ -28,7 +28,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vxwfields;
$items = $displayData->vxyfields;
$user = JFactory::getUser();
$id = $displayData->item->id;
$edit = "index.php?option=com_componentbuilder&view=fields&task=field.edit";

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage javascript_fullwidth.php

View File

@ -10,8 +10,8 @@
|_|
/-------------------------------------------------------------------------------------------------------------------------------/
@version 2.4.1
@build 1st April, 2017
@version 2.5.4
@build 13th September, 2017
@created 30th April, 2015
@package Component Builder
@subpackage linked_components_fullwidth.php
@ -28,7 +28,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vxxlinked_components;
$items = $displayData->vxzlinked_components;
$user = JFactory::getUser();
$id = $displayData->item->id;
$edit = "index.php?option=com_componentbuilder&view=joomla_components&task=joomla_component.edit";

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