Compare commits
38 Commits
Author | SHA1 | Date | |
---|---|---|---|
c484306d21 | |||
3d1ba0321a | |||
5bb5e3e909 | |||
9e140b40da | |||
06416e665d | |||
72c6136bfb | |||
5d3e93c560 | |||
8ccb13f3e0 | |||
4b3bc9bd03 | |||
8501e37b3e | |||
1c37f13820 | |||
e6b3c2391d | |||
cfc1af2b69 | |||
9c1ee3e88a | |||
e3528344af | |||
0ccc84e2ff | |||
e0730d3bf6 | |||
ddeb02de74 | |||
e003be492c | |||
fb7b5027c2 | |||
7a902d454a | |||
bd716ae7ef | |||
e074d3b5ce | |||
f1a054c0e7 | |||
e037d29935 | |||
b60803ef7b | |||
aceda7bae2 | |||
111aa4a3de | |||
9742991690 | |||
2c1903508c | |||
384c403ae4 | |||
6e0bcc0ae2 | |||
3ad9ae8b8f | |||
5e36ede2ac | |||
cb355feaf4 | |||
9b1f111251 | |||
4cead46ac4 | |||
25c632065a |
44
README.md
44
README.md
@ -1,14 +1,17 @@
|
||||
# Component Builder (2.4.4)
|
||||
# Joomla Component Builder (JCB)
|
||||
[](https://github.com/vdm-io/Joomla-Component-Builder/releases) [](https://github.com/vdm-io/Joomla-Component-Builder/releases)
|
||||
|
||||
This is a [Joomla 3.x](http://www.joomla.org/) component.
|
||||
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://youtu.be/1KBBtQUxMTc)
|
||||
|
||||

|
||||

|
||||
|
||||
The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanced, truly able to build extremely complex components in a fraction of the time.
|
||||
The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) 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!
|
||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.4) 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.6) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://youtu.be/1KBBtQUxMTc)
|
||||
|
||||
Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
@ -75,14 +78,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) 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)_
|
||||
+ 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)_
|
||||
+ 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)_
|
||||
+ 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)
|
||||
|
||||
@ -107,13 +110,13 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 26th April, 2017
|
||||
+ *Version*: 2.4.4
|
||||
+ *Last Build*: 6th October, 2017
|
||||
+ *Version*: 2.5.6
|
||||
+ *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*: **105968**
|
||||
+ *File count*: **641**
|
||||
+ *Folder count*: **115**
|
||||
+ *Line count*: **120884**
|
||||
+ *File count*: **702**
|
||||
+ *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)
|
||||
@ -121,5 +124,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
|
@ -1,14 +1,17 @@
|
||||
# Component Builder (2.4.4)
|
||||
# Joomla Component Builder (JCB)
|
||||
[](https://github.com/vdm-io/Joomla-Component-Builder/releases) [](https://github.com/vdm-io/Joomla-Component-Builder/releases)
|
||||
|
||||
This is a [Joomla 3.x](http://www.joomla.org/) component.
|
||||
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://youtu.be/1KBBtQUxMTc)
|
||||
|
||||

|
||||

|
||||
|
||||
The Component Builder for [Joomla](http://www.joomla.org/) that is highly advanced, truly able to build extremely complex components in a fraction of the time.
|
||||
The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) 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!
|
||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
|
||||
|
||||
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.4.4) 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.6) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://youtu.be/1KBBtQUxMTc)
|
||||
|
||||
Once installed upgrades are quick and easy via the default Joomla upgrade area.
|
||||
|
||||
@ -75,14 +78,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) 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)_
|
||||
+ 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)_
|
||||
+ 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)_
|
||||
+ 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)
|
||||
|
||||
@ -107,13 +110,13 @@ Component Builder is mapped as a component in itself on my local development env
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](http://vdm.bz/component-builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 26th April, 2017
|
||||
+ *Version*: 2.4.4
|
||||
+ *Last Build*: 6th October, 2017
|
||||
+ *Version*: 2.5.6
|
||||
+ *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*: **105968**
|
||||
+ *File count*: **641**
|
||||
+ *Folder count*: **115**
|
||||
+ *Line count*: **120884**
|
||||
+ *File count*: **702**
|
||||
+ *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)
|
||||
@ -121,5 +124,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
|
346
admin/access.xml
346
admin/access.xml
@ -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" />
|
||||
@ -82,12 +159,32 @@
|
||||
<action name="fieldtype.dashboard_list" title="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC" />
|
||||
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
|
||||
<action name="fieldtype.edit" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC" />
|
||||
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
|
||||
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
|
||||
<action name="fieldtype.edit.own" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC" />
|
||||
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
|
||||
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
|
||||
<action name="fieldtype.edit.state" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC" />
|
||||
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
|
||||
<action name="fieldtype.export" title="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC" />
|
||||
<action name="fieldtype.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,15 +198,93 @@
|
||||
<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_javascript" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_JAVASCRIPT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_JAVASCRIPT_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.javascript" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_JAVASCRIPT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_JAVASCRIPT_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" />
|
||||
@ -170,8 +345,85 @@
|
||||
<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.sql" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_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.description" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_DESCRIPTION_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.copyright" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_COPYRIGHT_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.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.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.name" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NAME_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.creatuserhelper" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CREATUSERHELPER_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.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.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.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.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_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_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.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_javascript" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_JAVASCRIPT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADD_JAVASCRIPT_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.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.license" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_LICENSE_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.bom" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_BOM_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.image" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_IMAGE_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.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.readme" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_README_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.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.addadmin_views" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDADMIN_VIEWS_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.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_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.sql_tweak" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_SQL_TWEAK_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.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.addcustommenus" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCUSTOMMENUS_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.javascript" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_JAVASCRIPT" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_JAVASCRIPT_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.css" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_CSS_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.addcontributors" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDCONTRIBUTORS_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.emptycontributors" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_EMPTYCONTRIBUTORS_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.number" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_NUMBER_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_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.addfiles" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDFILES_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.addreadme" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_ADDREADME_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.update_server" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_SERVER" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_UPDATE_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.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.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">
|
||||
@ -181,6 +433,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">
|
||||
@ -264,6 +593,10 @@
|
||||
<action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" />
|
||||
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
|
||||
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
|
||||
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
|
||||
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
|
||||
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
|
||||
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
|
||||
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
|
||||
</section>
|
||||
<section name="language_translation">
|
||||
@ -284,6 +617,19 @@
|
||||
<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" />
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 114 of this MVC
|
||||
@build 28th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_view.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 114 of this MVC
|
||||
@build 28th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_views.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 48 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 55 of this MVC
|
||||
@build 13th September, 2017
|
||||
@created 1st February, 2017
|
||||
@package Component Builder
|
||||
@subpackage compiler.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@version @update number 27 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_view.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@version @update number 27 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_views.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 82 of this MVC
|
||||
@build 26th April, 2017
|
||||
@build 4th October, 2017
|
||||
@created 11th October, 2016
|
||||
@package Component Builder
|
||||
@subpackage custom_code.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 82 of this MVC
|
||||
@build 26th April, 2017
|
||||
@build 4th October, 2017
|
||||
@created 11th October, 2016
|
||||
@package Component Builder
|
||||
@subpackage custom_codes.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage dashboard.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 94 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_get.css
|
||||
@ -24,4 +24,6 @@
|
||||
|
||||
/* CSS Document */
|
||||
|
||||
|
||||
.fieldMedium {
|
||||
width: 80px !important;
|
||||
}
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 94 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_gets.css
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 15 of this MVC
|
||||
@build 17th September, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtype.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 15 of this MVC
|
||||
@build 17th September, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtypes.css
|
||||
|
27
admin/assets/css/ftp.css
Normal file
27
admin/assets/css/ftp.css
Normal 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
27
admin/assets/css/ftps.css
Normal 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 */
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 6 of this MVC
|
||||
@build 18th October, 2016
|
||||
@build 17th October, 2016
|
||||
@created 4th March, 2016
|
||||
@package Component Builder
|
||||
@subpackage help_document.css
|
||||
|
@ -10,7 +10,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 6 of this MVC
|
||||
@build 18th October, 2016
|
||||
@build 17th October, 2016
|
||||
@created 4th March, 2016
|
||||
@package Component Builder
|
||||
@subpackage help_documents.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 385 of this MVC
|
||||
@build 6th October, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 385 of this MVC
|
||||
@build 6th October, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_components.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 39 of this MVC
|
||||
@build 7th April, 2017
|
||||
@version @update number 43 of this MVC
|
||||
@build 16th September, 2017
|
||||
@created 3rd April, 2017
|
||||
@package Component Builder
|
||||
@subpackage language_translation.css
|
||||
@ -24,4 +24,7 @@
|
||||
|
||||
/* CSS Document */
|
||||
|
||||
|
||||
|
||||
.translation_text_area {
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 39 of this MVC
|
||||
@build 7th April, 2017
|
||||
@version @update number 43 of this MVC
|
||||
@build 16th September, 2017
|
||||
@created 3rd April, 2017
|
||||
@package Component Builder
|
||||
@subpackage language_translations.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 81 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layout.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 81 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layouts.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@version @update number 54 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_view.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@version @update number 54 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_views.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 16 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 17 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 19th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage snippet.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 16 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 17 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 19th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage snippets.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 40 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 45 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 26th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage template.css
|
||||
|
@ -9,8 +9,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 40 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 45 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 26th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage templates.css
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 23 KiB |
BIN
admin/assets/images/icons/ftps.png
Normal file
BIN
admin/assets/images/icons/ftps.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
admin/assets/images/vdm-component.jpg
Normal file
BIN
admin/assets/images/vdm-component.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
@ -0,0 +1,25 @@
|
||||
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
|
||||
__ __ _ _____ _ _ __ __ _ _ _
|
||||
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
|
||||
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
|
||||
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
|
||||
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
|
||||
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
|
||||
| |
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin.js
|
||||
@author Llewellyn van der Merwe <http://vdm.bz/component-builder>
|
||||
@copyright Copyright (C) 2015. All Rights Reserved
|
||||
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
Builds Complex Joomla Components
|
||||
|
||||
/-----------------------------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* JS Document */
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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###');
|
||||
|
@ -0,0 +1,4 @@
|
||||
###BOM###
|
||||
|
||||
/* JS Document */
|
||||
###ADMINJS###
|
@ -29,29 +29,27 @@ defined('_JEXEC') or die('Restricted access');
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
$manifest = ###Component###Helper::manifest();
|
||||
|
||||
?>
|
||||
<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; ?> <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; ?>
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -0,0 +1,4 @@
|
||||
###BOM###
|
||||
|
||||
/* JS Document */
|
||||
###SITEJS###
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
@ -43,7 +43,8 @@ $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('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
|
||||
|
401
admin/config.xml
401
admin/config.xml
@ -75,7 +75,16 @@
|
||||
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"
|
||||
@ -146,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"
|
||||
@ -159,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">
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage controller.php
|
||||
@ -101,6 +101,7 @@ class ComponentbuilderController extends JControllerLegacy
|
||||
'fieldtype' => 'fieldtypes',
|
||||
'language_translation' => 'language_translations',
|
||||
'language' => 'languages',
|
||||
'ftp' => 'ftps',
|
||||
'help_document' => 'help_documents'
|
||||
);
|
||||
// check if this is a list view
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 114 of this MVC
|
||||
@build 28th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_view.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 110 of this MVC
|
||||
@build 25th April, 2017
|
||||
@version @update number 114 of this MVC
|
||||
@build 28th August, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage admin_views.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage ajax.json.php
|
||||
@ -45,20 +45,19 @@ 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');
|
||||
$this->registerTask('layoutDetails', 'ajax');
|
||||
$this->registerTask('templateDetails', 'ajax');
|
||||
$this->registerTask('snippetDetails', 'ajax');
|
||||
$this->registerTask('dynamicValues', 'ajax');
|
||||
$this->registerTask('dynamicFormDetails', 'ajax');
|
||||
$this->registerTask('getLayoutDetails', 'ajax');
|
||||
$this->registerTask('dbTableColumns', 'ajax');
|
||||
$this->registerTask('viewTableColumns', 'ajax');
|
||||
$this->registerTask('getDynamicValues', 'ajax');
|
||||
$this->registerTask('checkFunctionName', 'ajax');
|
||||
$this->registerTask('usedin', 'ajax');
|
||||
$this->registerTask('snippetDetails', 'ajax');
|
||||
$this->registerTask('fieldOptions', 'ajax');
|
||||
$this->registerTask('getBuildTable', 'ajax');
|
||||
$this->registerTask('getButton', 'ajax');
|
||||
}
|
||||
|
||||
@ -188,6 +187,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
|
||||
{
|
||||
@ -302,44 +339,6 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'layoutDetails':
|
||||
try
|
||||
{
|
||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||
$idValue = $jinput->get('id', null, 'INT');
|
||||
if($idValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->getLayoutDetails($idValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = false;
|
||||
}
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback . "(".json_encode($result).");";
|
||||
}
|
||||
elseif($returnRaw)
|
||||
{
|
||||
echo json_encode($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($result).");";
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback."(".json_encode($e).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($e).");";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'templateDetails':
|
||||
try
|
||||
{
|
||||
@ -378,91 +377,14 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'snippetDetails':
|
||||
case 'getLayoutDetails':
|
||||
try
|
||||
{
|
||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||
$idValue = $jinput->get('id', NULL, 'INT');
|
||||
if($idValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->getSnippetDetails($idValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = false;
|
||||
}
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback . "(".json_encode($result).");";
|
||||
}
|
||||
elseif($returnRaw)
|
||||
{
|
||||
echo json_encode($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($result).");";
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback."(".json_encode($e).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($e).");";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'dynamicValues':
|
||||
try
|
||||
{
|
||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||
$idValue = $jinput->get('id', NULL, 'INT');
|
||||
$viewValue = $jinput->get('view', NULL, 'WORD');
|
||||
if($idValue && $viewValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->getDynamicValues($idValue, $viewValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = false;
|
||||
}
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback . "(".json_encode($result).");";
|
||||
}
|
||||
elseif($returnRaw)
|
||||
{
|
||||
echo json_encode($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($result).");";
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback."(".json_encode($e).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($e).");";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'dynamicFormDetails':
|
||||
try
|
||||
{
|
||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||
$idValue = $jinput->get('id', NULL, 'INT');
|
||||
if($idValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->getDynamicFormDetails($idValue);
|
||||
$result = $this->getModel('ajax')->getLayoutDetails($idValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -573,6 +495,45 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'getDynamicValues':
|
||||
try
|
||||
{
|
||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||
$idValue = $jinput->get('id', NULL, 'INT');
|
||||
$viewValue = $jinput->get('view', NULL, 'WORD');
|
||||
if($idValue && $viewValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->getDynamicValues($idValue, $viewValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = false;
|
||||
}
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback . "(".json_encode($result).");";
|
||||
}
|
||||
elseif($returnRaw)
|
||||
{
|
||||
echo json_encode($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($result).");";
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
if($callback = $jinput->get('callback', null, 'CMD'))
|
||||
{
|
||||
echo $callback."(".json_encode($e).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "(".json_encode($e).");";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'checkFunctionName':
|
||||
try
|
||||
{
|
||||
@ -652,14 +613,14 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'fieldOptions':
|
||||
case 'snippetDetails':
|
||||
try
|
||||
{
|
||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||
$idValue = $jinput->get('id', NULL, 'INT');
|
||||
if($idValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->getFieldOptions($idValue);
|
||||
$result = $this->getModel('ajax')->getSnippetDetails($idValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -690,15 +651,14 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'getBuildTable':
|
||||
case 'fieldOptions':
|
||||
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)
|
||||
$idValue = $jinput->get('id', NULL, 'INT');
|
||||
if($idValue && $user->id != 0)
|
||||
{
|
||||
$result = $this->getModel('ajax')->getBuildTable($idNameValue, $objectValue);
|
||||
$result = $this->getModel('ajax')->getFieldOptions($idValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 48 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 55 of this MVC
|
||||
@build 13th September, 2017
|
||||
@created 1st February, 2017
|
||||
@package Component Builder
|
||||
@subpackage compiler.php
|
||||
@ -70,13 +70,13 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
|
||||
$componentId = $jinput->post->get('component', 0, 'INT');
|
||||
$version = $jinput->post->get('version', 0, 'INT');
|
||||
$addBackup = $jinput->post->get('backup', 0, 'INT');
|
||||
$addGit = $jinput->post->get('git', 0, 'INT');
|
||||
$addRepo = $jinput->post->get('repository', 0, 'INT');
|
||||
$addPlaceholders = $jinput->post->get('placeholders', 2, 'INT');
|
||||
$debugLinenr = $jinput->post->get('debuglinenr', 2, 'INT');
|
||||
// include component compiler
|
||||
require_once JPATH_ADMINISTRATOR.'/components/com_componentbuilder/helpers/compiler.php';
|
||||
$model = $this->getModel('compiler');
|
||||
if ($model->builder($version,$componentId,$addBackup,$addGit,$addPlaceholders,$debugLinenr))
|
||||
if ($model->builder($version,$componentId,$addBackup,$addRepo,$addPlaceholders,$debugLinenr))
|
||||
{
|
||||
$cache = JFactory::getCache('mod_menu');
|
||||
$cache->clean();
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@version @update number 27 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_view.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 22 of this MVC
|
||||
@build 1st March, 2017
|
||||
@version @update number 27 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 13th August, 2015
|
||||
@package Component Builder
|
||||
@subpackage custom_admin_views.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 82 of this MVC
|
||||
@build 26th April, 2017
|
||||
@build 4th October, 2017
|
||||
@created 11th October, 2016
|
||||
@package Component Builder
|
||||
@subpackage custom_code.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 82 of this MVC
|
||||
@build 26th April, 2017
|
||||
@build 4th October, 2017
|
||||
@created 11th October, 2016
|
||||
@package Component Builder
|
||||
@subpackage custom_codes.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 94 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_get.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 81 of this MVC
|
||||
@build 15th January, 2017
|
||||
@version @update number 94 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 21st May, 2015
|
||||
@package Component Builder
|
||||
@subpackage dynamic_gets.php
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 15 of this MVC
|
||||
@build 17th September, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtype.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 12 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 15 of this MVC
|
||||
@build 17th September, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage fieldtypes.php
|
||||
|
326
admin/controllers/ftp.php
Normal file
326
admin/controllers/ftp.php
Normal 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
111
admin/controllers/ftps.php
Normal 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;
|
||||
}
|
||||
}
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage help.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 6 of this MVC
|
||||
@build 18th October, 2016
|
||||
@build 17th October, 2016
|
||||
@created 4th March, 2016
|
||||
@package Component Builder
|
||||
@subpackage help_document.php
|
||||
|
@ -11,7 +11,7 @@
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 6 of this MVC
|
||||
@build 18th October, 2016
|
||||
@build 17th October, 2016
|
||||
@created 4th March, 2016
|
||||
@package Component Builder
|
||||
@subpackage help_documents.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage import.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage import_joomla_components.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 385 of this MVC
|
||||
@build 6th October, 2017
|
||||
@created 6th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage joomla_component.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 337 of this MVC
|
||||
@build 26th April, 2017
|
||||
@version @update number 385 of this MVC
|
||||
@build 6th October, 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();
|
||||
}
|
||||
}
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 39 of this MVC
|
||||
@build 7th April, 2017
|
||||
@version @update number 43 of this MVC
|
||||
@build 16th September, 2017
|
||||
@created 3rd April, 2017
|
||||
@package Component Builder
|
||||
@subpackage language_translation.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 39 of this MVC
|
||||
@build 7th April, 2017
|
||||
@version @update number 43 of this MVC
|
||||
@build 16th September, 2017
|
||||
@created 3rd April, 2017
|
||||
@package Component Builder
|
||||
@subpackage language_translations.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 81 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layout.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 67 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 81 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 18th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage layouts.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@version @update number 54 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_view.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 51 of this MVC
|
||||
@build 6th March, 2017
|
||||
@version @update number 54 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 29th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage site_views.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 16 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 17 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 19th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage snippet.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 16 of this MVC
|
||||
@build 20th October, 2016
|
||||
@version @update number 17 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 19th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage snippets.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 40 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 45 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 26th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage template.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version @update number 40 of this MVC
|
||||
@build 1st April, 2017
|
||||
@version @update number 45 of this MVC
|
||||
@build 27th September, 2017
|
||||
@created 26th May, 2015
|
||||
@package Component Builder
|
||||
@subpackage templates.php
|
||||
|
232
admin/custom/timeago.js
Normal file
232
admin/custom/timeago.js
Normal 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");
|
||||
}));
|
@ -54,7 +54,7 @@ class Compiler extends Infusion
|
||||
// fixed pathes
|
||||
protected $dynamicIntegration = false;
|
||||
protected $backupPath = false;
|
||||
protected $gitPath = false;
|
||||
protected $repoPath = false;
|
||||
protected $addCustomCodeAt = array();
|
||||
|
||||
/**
|
||||
@ -76,9 +76,9 @@ class Compiler extends Infusion
|
||||
$this->backupPath = $this->params->get('backup_folder_path', $this->tempPath).'/'.$this->componentBackupName.'.zip';
|
||||
$this->dynamicIntegration = true;
|
||||
}
|
||||
if ($config['addGit'])
|
||||
if ($config['addRepo'])
|
||||
{
|
||||
$this->gitPath = $this->params->get('git_folder_path', null);
|
||||
$this->repoPath = $this->params->get('git_folder_path', null);
|
||||
}
|
||||
// remove site folder if not needed (TODO add check if custom script was moved to site folder then we must do a more complex cleanup here)
|
||||
if ($this->removeSiteFolder)
|
||||
@ -244,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
|
||||
@ -402,15 +402,15 @@ class Compiler extends Infusion
|
||||
|
||||
private function zipComponent()
|
||||
{
|
||||
// before we zip the component we first need to move it to the git folder if set
|
||||
if (ComponentbuilderHelper::checkString($this->gitPath))
|
||||
// before we zip the component we first need to move it to the repo folder if set
|
||||
if (ComponentbuilderHelper::checkString($this->repoPath))
|
||||
{
|
||||
// set the git path
|
||||
$this->gitPath = $this->gitPath.'/com_'.$this->componentData->sales_name.'__joomla_'.$this->joomlaVersion;
|
||||
// set the repo path
|
||||
$repoFullPath = $this->repoPath.'/com_'.$this->componentData->sales_name.'__joomla_'.$this->joomlaVersion;
|
||||
// remove old data
|
||||
$this->removeFolder($this->gitPath,true);
|
||||
$this->removeFolder($repoFullPath, $this->componentData->toignore);
|
||||
// set the new data
|
||||
JFolder::copy($this->componentPath, $this->gitPath, '', true);
|
||||
JFolder::copy($this->componentPath, $repoFullPath, '', true);
|
||||
}
|
||||
// the name of the zip file to create
|
||||
$this->filepath = $this->tempPath.'/'.$this->componentFolderName.'.zip';
|
||||
@ -423,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))
|
||||
@ -474,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -509,8 +511,9 @@ class Compiler extends Infusion
|
||||
if (isset($host) && $host != 'HOSTNAME' && isset($port) && $port != 'PORT_INT' && isset($username) && $username != 'user@name.com' && isset($password) && $password != 'password')
|
||||
{
|
||||
// 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];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -476,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
|
||||
@ -518,6 +531,27 @@ 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);
|
||||
|
||||
@ -591,6 +625,7 @@ class Get
|
||||
}
|
||||
unset($component->addfolders);
|
||||
}
|
||||
|
||||
// ser the addfiles data
|
||||
$addfiles = json_decode($component->addfiles,true);
|
||||
if (ComponentbuilderHelper::checkArray($addfiles))
|
||||
@ -657,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)
|
||||
@ -830,8 +866,38 @@ 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_javascript
|
||||
if ($component->add_javascript == 1)
|
||||
{
|
||||
$this->customScriptBuilder['component_js'] = base64_decode($component->javascript);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->customScriptBuilder['component_js'] = '';
|
||||
}
|
||||
unset($component->javascript);
|
||||
|
||||
// add_css
|
||||
if ($component->add_css == 1)
|
||||
{
|
||||
@ -842,6 +908,7 @@ class Get
|
||||
$this->customScriptBuilder['component_css'] = '';
|
||||
}
|
||||
unset($component->css);
|
||||
|
||||
// set the lang target
|
||||
$this->lang = 'admin';
|
||||
// add PHP in ADMIN
|
||||
@ -977,7 +1044,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 repo 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 repo folder
|
||||
$component->toignore = array('.git');
|
||||
}
|
||||
|
||||
// return the found component data
|
||||
return $component;
|
||||
}
|
||||
@ -985,7 +1088,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
|
||||
*
|
||||
@ -1093,6 +1196,19 @@ class Get
|
||||
}
|
||||
$this->customScriptBuilder['token'][$name_single] = false;
|
||||
$this->customScriptBuilder['token'][$name_list] = false;
|
||||
// set some placeholders
|
||||
$this->placeholders['###view###'] = ComponentbuilderHelper::safeString($name_single);
|
||||
$this->placeholders['###views###'] = ComponentbuilderHelper::safeString($name_list);
|
||||
$this->placeholders['###View###'] = ComponentbuilderHelper::safeString($name_single, 'F');
|
||||
$this->placeholders['###Views###'] = ComponentbuilderHelper::safeString($name_list, 'F');
|
||||
$this->placeholders['###VIEW###'] = ComponentbuilderHelper::safeString($name_single, 'U');
|
||||
$this->placeholders['###VIEWS###'] = ComponentbuilderHelper::safeString($name_list, 'U');
|
||||
$this->placeholders['[[[view]]]'] = $this->placeholders['###view###'];
|
||||
$this->placeholders['[[[views]]]'] = $this->placeholders['###views###'];
|
||||
$this->placeholders['[[[View]]]'] = $this->placeholders['###View###'];
|
||||
$this->placeholders['[[[Views]]]'] = $this->placeholders['###Views###'];
|
||||
$this->placeholders['[[[VIEW]]]'] = $this->placeholders['###VIEW###'];
|
||||
$this->placeholders['[[[VIEWS]]]'] = $this->placeholders['###VIEWS###'];
|
||||
// load the values form params
|
||||
$permissions = json_decode($view->addpermissions,true);
|
||||
unset($view->addpermissions);
|
||||
@ -1106,6 +1222,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))
|
||||
{
|
||||
@ -1305,7 +1437,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)
|
||||
@ -1417,19 +1549,33 @@ 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);
|
||||
}
|
||||
}
|
||||
// clear placeholders
|
||||
unset($this->placeholders['###view###']);
|
||||
unset($this->placeholders['###views###']);
|
||||
unset($this->placeholders['###View###']);
|
||||
unset($this->placeholders['###Views###']);
|
||||
unset($this->placeholders['###VIEW###']);
|
||||
unset($this->placeholders['###VIEWS###']);
|
||||
unset($this->placeholders['[[[view]]]']);
|
||||
unset($this->placeholders['[[[views]]]']);
|
||||
unset($this->placeholders['[[[View]]]']);
|
||||
unset($this->placeholders['[[[Views]]]']);
|
||||
unset($this->placeholders['[[[VIEW]]]']);
|
||||
unset($this->placeholders['[[[VIEWS]]]']);
|
||||
// store this view to class object
|
||||
$this->_adminViewData[$id] = $view;
|
||||
}
|
||||
// return the found view data
|
||||
@ -1509,7 +1655,7 @@ class Get
|
||||
$main_get = $this->setGetData(array($view->main_get),$view->code);
|
||||
$view->main_get = $main_get[0];
|
||||
// set the custom_get data
|
||||
$view->custom_get = $this->setGetData(json_decode($view->custom_get,true),$view->code);
|
||||
$view->custom_get = $this->setGetData(json_decode($view->custom_get, true),$view->code);
|
||||
// set array adding array of scripts
|
||||
$addArray = array('php_view','php_jview','php_jview_display','php_document','js_document','css_document','css');
|
||||
foreach ($addArray as $scripter)
|
||||
@ -1645,7 +1791,7 @@ class Get
|
||||
|
||||
// Order it by the ordering field.
|
||||
$query->select('a.*');
|
||||
$query->select($this->db->quoteName(array('c.name', 'c.properties'),array('type_name','type_properties')));
|
||||
$query->select($this->db->quoteName(array('c.name', 'c.properties'),array('type_name','properties')));
|
||||
$query->from('#__componentbuilder_field AS a');
|
||||
$query->join('LEFT', $this->db->quoteName('#__componentbuilder_fieldtype', 'c') . ' ON (' . $this->db->quoteName('a.fieldtype') . ' = ' . $this->db->quoteName('c.id') . ')');
|
||||
$query->where($this->db->quoteName('a.id') . ' = '. $this->db->quote($id));
|
||||
@ -1665,19 +1811,8 @@ class Get
|
||||
$field->xml = $this->setDynamicValues(json_decode($field->xml));
|
||||
|
||||
// load the type values form type params
|
||||
$properties = json_decode($field->type_properties,true);
|
||||
unset($field->type_properties);
|
||||
$field->properties = json_decode($field->properties,true);
|
||||
|
||||
if (ComponentbuilderHelper::checkArray($properties))
|
||||
{
|
||||
foreach ($properties as $option => $values)
|
||||
{
|
||||
foreach ($values as $nr => $value)
|
||||
{
|
||||
$field->properties[$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
// check if we have advanced encryption
|
||||
if (4 == $field->store && (!isset($this->advancedEncryption) || !$this->advancedEncryption))
|
||||
{
|
||||
@ -1689,6 +1824,9 @@ class Get
|
||||
$this->basicEncryption = true;
|
||||
}
|
||||
|
||||
// get the last used version
|
||||
$field->history = $this->getHistoryWatch('field', $id);
|
||||
|
||||
$this->_fieldData[$id] = $field;
|
||||
}
|
||||
else
|
||||
@ -1832,7 +1970,7 @@ class Get
|
||||
* @return oject the get dynamicGet data
|
||||
*
|
||||
*/
|
||||
public function setGetData($ids,$view_code)
|
||||
public function setGetData($ids, $view_code)
|
||||
{
|
||||
if (ComponentbuilderHelper::checkArray($ids))
|
||||
{
|
||||
@ -1923,14 +2061,14 @@ class Get
|
||||
{
|
||||
case 1:
|
||||
// set the view data
|
||||
$result->main_get[0]['selection'] = $this->setDataSelection($result->key,$view_code,$result->view_selection,$result->view_table_main,'a','','view');
|
||||
$result->main_get[0]['selection'] = $this->setDataSelection($result->key, $view_code, $result->view_selection, $result->view_table_main, 'a', '', 'view');
|
||||
$result->main_get[0]['as'] = 'a';
|
||||
$result->main_get[0]['key'] = $result->key;
|
||||
unset($result->view_selection);
|
||||
break;
|
||||
case 2:
|
||||
// set the database data
|
||||
$result->main_get[0]['selection'] = $this->setDataSelection($result->key,$view_code,$result->db_selection,$result->db_table_main,'a','','db');
|
||||
$result->main_get[0]['selection'] = $this->setDataSelection($result->key, $view_code, $result->db_selection, $result->db_table_main, 'a', '', 'db');
|
||||
$result->main_get[0]['as'] = 'a';
|
||||
$result->main_get[0]['key'] = $result->key;
|
||||
unset($result->db_selection);
|
||||
@ -1943,206 +2081,148 @@ class Get
|
||||
break;
|
||||
}
|
||||
// set join_view_table details
|
||||
$join_view_table = json_decode($result->join_view_table,true);
|
||||
unset($result->join_view_table);
|
||||
$result->join_view_table = array();
|
||||
if (ComponentbuilderHelper::checkArray($join_view_table))
|
||||
$result->join_view_table = json_decode($result->join_view_table, true);
|
||||
if (ComponentbuilderHelper::checkArray($result->join_view_table))
|
||||
{
|
||||
foreach ($join_view_table as $option => $values)
|
||||
foreach ($result->join_view_table as $nr => &$option)
|
||||
{
|
||||
foreach ($values as $nr => $value)
|
||||
if (ComponentbuilderHelper::checkString($option['selection']))
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($value))
|
||||
// convert the type
|
||||
$option['type'] = $typeArray[$option['type']];
|
||||
// convert the operator
|
||||
$option['operator'] = $operatorArray[$option['operator']];
|
||||
// get the on field values
|
||||
$on_field = array(); // array(on_field_as, on_field)
|
||||
$on_field = array_map('trim', explode('.',$option['on_field']));
|
||||
// get the join field values
|
||||
$join_field = array(); // array(join_field_as, join_field)
|
||||
$join_field = array_map('trim', explode('.',$option['join_field']));
|
||||
$option['selection'] =
|
||||
$this->setDataSelection($result->key, $view_code, $option['selection'], $option['view_table'], $option['as'], $option['row_type'], 'view');
|
||||
$option['key'] = $result->key;
|
||||
// load to the getters
|
||||
if ($option['row_type'] == 1)
|
||||
{
|
||||
if ($option === 'selection')
|
||||
$result->main_get[] = $option;
|
||||
if ($on_field[0] === 'a')
|
||||
{
|
||||
$on_field_as = '';
|
||||
$on_field = '';
|
||||
list($on_field_as,$on_field) = array_map('trim', explode('.',$result->join_view_table[$nr]['on_field']));
|
||||
$join_field_as = '';
|
||||
$join_field = '';
|
||||
list($join_field_as,$join_field) = array_map('trim', explode('.',$result->join_view_table[$nr]['join_field']));
|
||||
$result->join_view_table[$nr][$option] =
|
||||
$this->setDataSelection($result->key,$view_code,$value,$result->join_view_table[$nr]['view_table'],$result->join_view_table[$nr]['as'],$result->join_view_table[$nr]['row_type'],'view');
|
||||
$result->join_view_table[$nr]['key'] = $result->key;
|
||||
if ($result->join_view_table[$nr]['row_type'] == 1)
|
||||
{
|
||||
$result->main_get[] = $result->join_view_table[$nr];
|
||||
if ($on_field_as === 'a')
|
||||
{
|
||||
$this->siteMainGet[$this->target][$view_code][$result->join_view_table[$nr]['as']] = $result->join_view_table[$nr]['as'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->siteDynamicGet[$this->target][$view_code][$result->join_view_table[$nr]['as']][$join_field] = $on_field_as;
|
||||
}
|
||||
}
|
||||
elseif ($result->join_view_table[$nr]['row_type'] == 2)
|
||||
{
|
||||
$result->custom_get[] = $result->join_view_table[$nr];
|
||||
if ($on_field_as != 'a')
|
||||
{
|
||||
$this->siteDynamicGet[$this->target][$view_code][$result->join_view_table[$nr]['as']][$join_field] = $on_field_as;
|
||||
}
|
||||
}
|
||||
unset($result->join_view_table[$nr]);
|
||||
$this->siteMainGet[$this->target][$view_code][$option['as']] = $option['as'];
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($option === 'type')
|
||||
{
|
||||
$value = $typeArray[$value];
|
||||
}
|
||||
if ($option === 'operator')
|
||||
{
|
||||
$value = $operatorArray[$value];
|
||||
}
|
||||
$result->join_view_table[$nr][$option] = $value;
|
||||
$this->siteDynamicGet[$this->target][$view_code][$option['as']][$join_field[1]] = $on_field[0];
|
||||
}
|
||||
}
|
||||
elseif ($option['row_type'] == 2)
|
||||
{
|
||||
$result->custom_get[] = $option;
|
||||
if ($on_field[0] != 'a')
|
||||
{
|
||||
$this->siteDynamicGet[$this->target][$view_code][$option['as']][$join_field[1]] = $on_field[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($result->join_view_table[$nr]);
|
||||
}
|
||||
}
|
||||
unset($result->join_view_table);
|
||||
// set join_db_table details
|
||||
$join_db_table = json_decode($result->join_db_table,true);
|
||||
unset($result->join_db_table);
|
||||
$result->join_db_table = array();
|
||||
if (ComponentbuilderHelper::checkArray($join_db_table))
|
||||
$result->join_db_table = json_decode($result->join_db_table, true);
|
||||
if (ComponentbuilderHelper::checkArray($result->join_db_table))
|
||||
{
|
||||
foreach ($join_db_table as $option => $values)
|
||||
foreach ($result->join_db_table as $nr => &$option1)
|
||||
{
|
||||
foreach ($values as $nr => $value)
|
||||
if (ComponentbuilderHelper::checkString($option1['selection']))
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($value))
|
||||
// convert the type
|
||||
$option1['type'] = $typeArray[$option1['type']];
|
||||
// convert the operator
|
||||
$option1['operator'] = $operatorArray[$option1['operator']];
|
||||
// get the on field values
|
||||
$on_field = array(); // array(on_field_as, on_field)
|
||||
$on_field = array_map('trim', explode('.',$option1['on_field']));
|
||||
// get the join field values
|
||||
$join_field = array(); // array(join_field_as, join_field)
|
||||
$join_field = array_map('trim', explode('.',$option1['join_field']));
|
||||
$option1['selection'] =
|
||||
$this->setDataSelection($result->key, $view_code, $value, $option1['db_table'], $option1['as'], $option1['row_type'], 'db');
|
||||
$option1['key'] = $result->key;
|
||||
// load to the getters
|
||||
if ($option1['row_type'] == 1)
|
||||
{
|
||||
if ($option === 'selection')
|
||||
$result->main_get[] = $option1;
|
||||
if ($on_field[0] === 'a')
|
||||
{
|
||||
$on_field_as = '';
|
||||
$on_field = '';
|
||||
list($on_field_as,$on_field) = array_map('trim', explode('.',$result->join_db_table[$nr]['on_field']));
|
||||
$join_field_as = '';
|
||||
$join_field = '';
|
||||
list($join_field_as,$join_field) = array_map('trim', explode('.',$result->join_db_table[$nr]['join_field']));
|
||||
$result->join_db_table[$nr][$option] =
|
||||
$this->setDataSelection($result->key,$view_code,$value,$result->join_db_table[$nr]['db_table'],$result->join_db_table[$nr]['as'],$result->join_db_table[$nr]['row_type'],'db');
|
||||
$result->join_db_table[$nr]['key'] = $result->key;
|
||||
if ($result->join_db_table[$nr]['row_type'] == 1)
|
||||
{
|
||||
$result->main_get[] = $result->join_db_table[$nr];
|
||||
if ($on_field_as === 'a')
|
||||
{
|
||||
$this->siteMainGet[$this->target][$view_code][$result->join_db_table[$nr]['as']] = $result->join_db_table[$nr]['as'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->siteDynamicGet[$this->target][$view_code][$result->join_db_table[$nr]['as']][$join_field] = $on_field_as;
|
||||
}
|
||||
}
|
||||
elseif ($result->join_db_table[$nr]['row_type'] == 2)
|
||||
{
|
||||
$result->custom_get[] = $result->join_db_table[$nr];
|
||||
if ($on_field_as != 'a')
|
||||
{
|
||||
$this->siteDynamicGet[$this->target][$view_code][$result->join_db_table[$nr]['as']][$join_field] = $on_field_as;
|
||||
}
|
||||
}
|
||||
unset($result->join_db_table[$nr]);
|
||||
$this->siteMainGet[$this->target][$view_code][$option1['as']] = $option1['as'];
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($option === 'type')
|
||||
{
|
||||
$value = $typeArray[$value];
|
||||
}
|
||||
if ($option === 'operator')
|
||||
{
|
||||
$value = $operatorArray[$value];
|
||||
}
|
||||
$result->join_db_table[$nr][$option] = $value;
|
||||
$this->siteDynamicGet[$this->target][$view_code][$option1['as']][$join_field[1]] = $on_field[0];
|
||||
}
|
||||
}
|
||||
elseif ($option1['row_type'] == 2)
|
||||
{
|
||||
$result->custom_get[] = $option1;
|
||||
if ($on_field[0] != 'a')
|
||||
{
|
||||
$this->siteDynamicGet[$this->target][$view_code][$option1['as']][$join_field[1]] = $on_field[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($result->join_db_table[$nr]);
|
||||
}
|
||||
}
|
||||
unset($result->join_db_table);
|
||||
// set filter details
|
||||
$filter = json_decode($result->filter,true);
|
||||
unset($result->filter);
|
||||
$result->filter = array();
|
||||
if (ComponentbuilderHelper::checkArray($filter))
|
||||
$result->filter = json_decode($result->filter, true);
|
||||
if (ComponentbuilderHelper::checkArray($result->filter))
|
||||
{
|
||||
foreach ($filter as $option => $values)
|
||||
foreach ($result->filter as $nr => &$option2)
|
||||
{
|
||||
foreach ($values as $nr => $value)
|
||||
if (isset($option2['operator']))
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($value))
|
||||
{
|
||||
if ($option === 'operator')
|
||||
{
|
||||
$value = $operatorArray[$value];
|
||||
$result->filter[$nr]['key'] = $result->key;
|
||||
}
|
||||
$result->filter[$nr][$option] = $value;
|
||||
}
|
||||
$option2['operator'] = $operatorArray[$option2['operator']];
|
||||
$option2['key'] = $result->key;
|
||||
}
|
||||
}
|
||||
}
|
||||
// set global details
|
||||
$global = json_decode($result->global,true);
|
||||
unset($result->global);
|
||||
$result->global = array();
|
||||
if (ComponentbuilderHelper::checkArray($global))
|
||||
{
|
||||
foreach ($global as $option => $values)
|
||||
{
|
||||
foreach ($values as $nr => $value)
|
||||
else
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($value))
|
||||
{
|
||||
$result->global[$nr][$option] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// set order details
|
||||
$order = json_decode($result->order,true);
|
||||
unset($result->order);
|
||||
$result->order = array();
|
||||
if (ComponentbuilderHelper::checkArray($order))
|
||||
{
|
||||
foreach ($order as $option => $values)
|
||||
{
|
||||
foreach ($values as $nr => $value)
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($value))
|
||||
{
|
||||
$result->order[$nr][$option] = $value;
|
||||
}
|
||||
unset($result->filter[$nr]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// set where details
|
||||
$where = json_decode($result->where,true);
|
||||
unset($result->where);
|
||||
$result->where = array();
|
||||
if (ComponentbuilderHelper::checkArray($where))
|
||||
$result->where = json_decode($result->where, true);
|
||||
if (ComponentbuilderHelper::checkArray($result->where))
|
||||
{
|
||||
foreach ($where as $option => $values)
|
||||
foreach ($result->where as $nr => &$option3)
|
||||
{
|
||||
foreach ($values as $nr => $value)
|
||||
if (isset($option3['operator']))
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($value))
|
||||
{
|
||||
if ($option === 'operator')
|
||||
{
|
||||
$value = $operatorArray[$value];
|
||||
}
|
||||
$result->where[$nr][$option] = $value;
|
||||
}
|
||||
$option3['operator'] = $operatorArray[$option3['operator']];
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($result->where[$nr]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($result->where);
|
||||
}
|
||||
// set order details
|
||||
$result->order = json_decode($result->order, true);
|
||||
if (!ComponentbuilderHelper::checkArray($result->order))
|
||||
{
|
||||
unset($result->order);
|
||||
}
|
||||
// set global details
|
||||
$result->global = json_decode($result->global, true);
|
||||
if (!ComponentbuilderHelper::checkArray($result->global))
|
||||
{
|
||||
unset($result->global);
|
||||
}
|
||||
}
|
||||
return $results;
|
||||
}
|
||||
@ -2151,6 +2231,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
|
||||
*
|
||||
@ -2384,7 +2668,7 @@ class Get
|
||||
* @return array the select query
|
||||
*
|
||||
*/
|
||||
public function setDataSelection($method_key,$view_code,$string,$asset,$as,$row_type,$type)
|
||||
public function setDataSelection($method_key, $view_code, $string, $asset, $as, $row_type, $type)
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($string))
|
||||
{
|
||||
@ -2953,7 +3237,7 @@ class Get
|
||||
}
|
||||
// check what type of place holders we should load here
|
||||
$placeholderType = (int) $item['comment_type'].'2';
|
||||
if (stripos($item['code'], '[[[view') !== false || stripos($item['code'], '[[[sview') !== false)
|
||||
if (stripos($item['code'], '[[[view') !== false || stripos($item['code'], '[[[sview') !== false || stripos($item['code'], '[[[arg') !== false)
|
||||
{
|
||||
// if view is being set dynamicly then we can't update this code via IDE (TODO)
|
||||
$placeholderType = 3;
|
||||
@ -3072,26 +3356,24 @@ class Get
|
||||
}
|
||||
// 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']))
|
||||
&& ComponentbuilderHelper::checkArray($this->multiLangString[$string]['translation']))
|
||||
{
|
||||
// great lets build the multi languages strings
|
||||
foreach ($this->multiLangString[$string]['translation']['translation'] as $at => $lang)
|
||||
foreach ($this->multiLangString[$string]['translation'] as $translations)
|
||||
{
|
||||
$_tag = $this->multiLangString[$string]['translation']['language'][$at];
|
||||
// build arrays
|
||||
if (!isset($this->languages[$_tag]))
|
||||
if (isset($translations['language']) && isset($translations['translation']))
|
||||
{
|
||||
$this->languages[$_tag] = array();
|
||||
// build arrays
|
||||
if (!isset($this->languages[$translations['language']]))
|
||||
{
|
||||
$this->languages[$translations['language']] = array();
|
||||
}
|
||||
if (!isset($this->languages[$translations['language']][$area]))
|
||||
{
|
||||
$this->languages[$translations['language']][$area] = array();
|
||||
}
|
||||
$this->languages[$translations['language']][$area][$placeholder] = $translations['translation'];
|
||||
}
|
||||
if (!isset($this->languages[$_tag][$area]))
|
||||
{
|
||||
$this->languages[$_tag][$area] = array();
|
||||
}
|
||||
$this->languages[$_tag][$area][$placeholder] = $lang;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -3313,7 +3595,7 @@ class Get
|
||||
elseif (ComponentbuilderHelper::checkJson($item['translation']))
|
||||
{
|
||||
$translation = json_decode($item['translation'], true);
|
||||
if (ComponentbuilderHelper::checkArray($translation) && ComponentbuilderHelper::checkArray($translation['translation']))
|
||||
if (ComponentbuilderHelper::checkArray($translation))
|
||||
{
|
||||
// only archive the item and update the string to unlink the current component
|
||||
$this->setUpdateExistingLangStrings($item['id'], $components, 2, $today, $counterUpdate);
|
||||
|
@ -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)
|
||||
@ -801,14 +810,14 @@ class Structure extends Get
|
||||
|
||||
/**
|
||||
* Set the Static File & Folder
|
||||
*
|
||||
* @param array $target The main target and name
|
||||
*
|
||||
* @param array $target The main target and name
|
||||
* @param string $type The type in the target
|
||||
* @param string $fileName The custom file name
|
||||
* @param array $cofig to add more data to the files info
|
||||
*
|
||||
* @param array $cofig to add more data to the files info
|
||||
*
|
||||
* @return boolean
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function buildDynamique($target, $type, $fileName = false, $config = false)
|
||||
{
|
||||
@ -1090,14 +1099,14 @@ class Structure extends Get
|
||||
/**
|
||||
* 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
|
||||
* @param string $dir The path to folder to remove
|
||||
* @param boolean $ignore The files and folders to ignore
|
||||
*
|
||||
* @return boolean True if all is removed
|
||||
*
|
||||
*/
|
||||
protected function removeFolder($dir, $git = false)
|
||||
protected function removeFolder($dir, $ignore = false)
|
||||
{
|
||||
return ComponentbuilderHelper::removeFolder($dir, $git);
|
||||
return ComponentbuilderHelper::removeFolder($dir, $ignore);
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
*
|
||||
@ -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,7 +1916,7 @@ 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, 'method' => $field['settings']->store);
|
||||
// set the custom fields needed in content type data
|
||||
@ -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
@ -143,16 +143,23 @@ class Infusion extends Interpretation
|
||||
$this->setConfigFieldsets(1);
|
||||
$this->lang = $keepLang;
|
||||
|
||||
// ###ADMINJS###
|
||||
$this->fileContentStatic['###ADMINJS###'] = $this->setPlaceholders($this->customScriptBuilder['component_js'], $this->placeholders);
|
||||
// ###SITEJS###
|
||||
$this->fileContentStatic['###SITEJS###'] = $this->setPlaceholders($this->customScriptBuilder['component_js'], $this->placeholders);
|
||||
|
||||
// ###ADMINCSS###
|
||||
$this->fileContentStatic['###ADMINCSS###'] = $this->setPlaceholders($this->customScriptBuilder['component_css'], $this->placeholders);
|
||||
// ###SITECSS###
|
||||
$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 +175,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 +201,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 +267,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 +291,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 +311,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 +336,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 +358,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 +379,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 +431,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 +445,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 +486,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 +525,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 +563,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 +644,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 +670,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 +686,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 +708,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 +728,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 +744,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 +765,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 +819,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 +943,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 +952,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 +971,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 +993,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 +1016,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 +1042,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 +1066,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 +1083,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 +1127,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;
|
||||
}
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage componentbuilder.php
|
||||
@ -39,8 +39,34 @@ abstract class ComponentbuilderHelper
|
||||
{
|
||||
// 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
|
||||
*/
|
||||
@ -77,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
|
||||
@ -130,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())
|
||||
@ -228,20 +265,18 @@ abstract class ComponentbuilderHelper
|
||||
{
|
||||
$result = $db->loadObject();
|
||||
$properties = json_decode($result->properties,true);
|
||||
$pointer = 0;
|
||||
$field = array('values' => "<field ", 'values_description' => '<ul>', 'short_description' => $result->short_description, 'description' => $result->description);
|
||||
foreach ($properties['name'] as $line)
|
||||
foreach ($properties as $property)
|
||||
{
|
||||
$field['values_description'] .= '<li><b>'.$properties['name'][$pointer].'</b> '.$properties['description'][$pointer].'</li>';
|
||||
if(isset($settings[$properties['name'][$pointer]]))
|
||||
$field['values_description'] .= '<li><b>'.$property['name'].'</b> '.$property['description'].'</li>';
|
||||
if(isset($settings[$property['name']]))
|
||||
{
|
||||
$field['values'] .= "\n\t".$properties['name'][$pointer].'="'.$settings[$properties['name'][$pointer]].'" ';
|
||||
$field['values'] .= "\n\t".$property['name'].'="'.$settings[$property['name']].'" ';
|
||||
}
|
||||
else
|
||||
{
|
||||
$field['values'] .= "\n\t".$properties['name'][$pointer].'="'.$properties['example'][$pointer].'" ';
|
||||
$field['values'] .= "\n\t".$property['name'].'="'.$property['example'].'" ';
|
||||
}
|
||||
$pointer++;
|
||||
}
|
||||
$field['values'] .= "\n/>";
|
||||
$field['values_description'] .= '</ul>';
|
||||
@ -1053,7 +1088,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)))";
|
||||
@ -1131,7 +1166,96 @@ abstract class ComponentbuilderHelper
|
||||
}
|
||||
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.
|
||||
**/
|
||||
@ -1319,6 +1443,10 @@ abstract class ComponentbuilderHelper
|
||||
{
|
||||
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');
|
||||
@ -1670,7 +1798,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();
|
||||
@ -1953,12 +2088,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;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2165,10 +2308,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);
|
||||
@ -2188,7 +2337,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)
|
||||
@ -2219,7 +2368,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);
|
||||
}
|
||||
@ -2286,15 +2436,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;
|
||||
}
|
||||
|
348
admin/helpers/componentbuilderemail.php
Normal file
348
admin/helpers/componentbuilderemail.php
Normal file
@ -0,0 +1,348 @@
|
||||
<?php
|
||||
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
|
||||
__ __ _ _____ _ _ __ __ _ _ _
|
||||
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
|
||||
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
|
||||
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
|
||||
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
|
||||
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
|
||||
| |
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.5.6
|
||||
@build 6th October, 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);
|
||||
}
|
||||
}
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 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)
|
||||
{
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage batch_.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage indenter.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage js.php
|
||||
|
@ -10,8 +10,8 @@
|
||||
|_|
|
||||
/-------------------------------------------------------------------------------------------------------------------------------/
|
||||
|
||||
@version 2.4.4
|
||||
@build 26th April, 2017
|
||||
@version 2.5.6
|
||||
@build 6th October, 2017
|
||||
@created 30th April, 2015
|
||||
@package Component Builder
|
||||
@subpackage minify.php
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user