Added Joomla Module Builder and more #499

Merged
Llewellyn merged 7 commits from staging into master 2019-12-15 16:06:49 +00:00
201 changed files with 25137 additions and 4278 deletions

View File

@ -1,3 +1,4 @@
# Joomla Component Builder ([JCB](http://joomlacomponentbuilder.com))
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
[![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
@ -11,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will 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.10.5) 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.10.9) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -143,14 +144,14 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 9th November, 2019
+ *Version*: 2.10.5
+ *Last Build*: 13th December, 2019
+ *Version*: 2.10.9
+ *Copyright*: Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **255982**
+ *Field count*: **1351**
+ *File count*: **1614**
+ *Folder count*: **256**
+ *Line count*: **277353**
+ *Field count*: **1490**
+ *File count*: **1752**
+ *Folder count*: **278**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)

View File

@ -1,3 +1,4 @@
# Joomla Component Builder ([JCB](http://joomlacomponentbuilder.com))
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
[![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
@ -11,7 +12,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will 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.10.5) 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.10.9) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -143,14 +144,14 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 9th November, 2019
+ *Version*: 2.10.5
+ *Last Build*: 13th December, 2019
+ *Version*: 2.10.9
+ *Copyright*: Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **255982**
+ *Field count*: **1351**
+ *File count*: **1614**
+ *Folder count*: **256**
+ *Line count*: **277353**
+ *Field count*: **1490**
+ *File count*: **1752**
+ *Folder count*: **278**
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)

View File

@ -171,6 +171,16 @@
<action name="component_files_folders.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_OWN_DESC" />
<action name="component_files_folders.edit.state" title="COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_STATE" description="COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_STATE_DESC" />
<action name="component_files_folders.version" title="COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_VERSION_DESC" />
<action name="component_modules.access" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS_DESC" />
<action name="component_modules.batch" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_USE_DESC" />
<action name="component_modules.create" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE_DESC" />
<action name="component_modules.delete" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE_DESC" />
<action name="component_modules.edit" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_DESC" />
<action name="component_modules.edit.created_by" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY_DESC" />
<action name="component_modules.edit.created" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE_DESC" />
<action name="component_modules.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN_DESC" />
<action name="component_modules.edit.state" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE_DESC" />
<action name="component_modules.version" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION_DESC" />
<action name="component_mysql_tweaks.access" title="COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_ACCESS_DESC" />
<action name="component_mysql_tweaks.batch" title="COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_BATCH_USE_DESC" />
<action name="component_mysql_tweaks.create" title="COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_CREATE_DESC" />
@ -324,6 +334,40 @@
<action name="joomla_component.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC" />
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
<action name="joomla_component.submenu" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC" />
<action name="joomla_module.get_snippets" title="COM_COMPONENTBUILDER_JOOMLA_MODULE_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
<action name="joomla_module.run_expansion" title="COM_COMPONENTBUILDER_JOOMLA_MODULE_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
<action name="joomla_module.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS_DESC" />
<action name="joomla_module.batch" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_USE_DESC" />
<action name="joomla_module.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE_DESC" />
<action name="joomla_module.dashboard_list" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_DASHBOARD_LIST_DESC" />
<action name="joomla_module.delete" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE_DESC" />
<action name="joomla_module.edit" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_DESC" />
<action name="joomla_module.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY_DESC" />
<action name="joomla_module.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE_DESC" />
<action name="joomla_module.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN_DESC" />
<action name="joomla_module.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE_DESC" />
<action name="joomla_module.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION_DESC" />
<action name="joomla_module_files_folders_urls.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS_DESC" />
<action name="joomla_module_files_folders_urls.batch" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE_DESC" />
<action name="joomla_module_files_folders_urls.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE_DESC" />
<action name="joomla_module_files_folders_urls.delete" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE_DESC" />
<action name="joomla_module_files_folders_urls.edit" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_DESC" />
<action name="joomla_module_files_folders_urls.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY_DESC" />
<action name="joomla_module_files_folders_urls.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE_DESC" />
<action name="joomla_module_files_folders_urls.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN_DESC" />
<action name="joomla_module_files_folders_urls.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE_DESC" />
<action name="joomla_module_files_folders_urls.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC" />
<action name="joomla_module.submenu" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU_DESC" />
<action name="joomla_module_updates.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS_DESC" />
<action name="joomla_module_updates.batch" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE_DESC" />
<action name="joomla_module_updates.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE_DESC" />
<action name="joomla_module_updates.delete" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE_DESC" />
<action name="joomla_module_updates.edit" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_DESC" />
<action name="joomla_module_updates.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY_DESC" />
<action name="joomla_module_updates.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE_DESC" />
<action name="joomla_module_updates.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN_DESC" />
<action name="joomla_module_updates.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE_DESC" />
<action name="joomla_module_updates.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION_DESC" />
<action name="joomla_plugin.get_boilerplate" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GET_BOILERPLATE_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GET_BOILERPLATE_BUTTON_ACCESS_DESC" />
<action name="joomla_plugin_group.access" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_ACCESS_DESC" />
<action name="joomla_plugin_group.batch" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_BATCH_USE_DESC" />
@ -390,7 +434,6 @@
<action name="layout.get_snippets" title="COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
<action name="layout.access" title="COM_COMPONENTBUILDER_LAYOUTS_ACCESS" description="COM_COMPONENTBUILDER_LAYOUTS_ACCESS_DESC" />
<action name="layout.batch" title="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE" description="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC" />
<action name="layout.dashboard_add" title="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC" />
<action name="layout.dashboard_list" title="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC" />
<action name="layout.version" title="COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION_DESC" />
<action name="layout.export" title="COM_COMPONENTBUILDER_LAYOUTS_EXPORT" description="COM_COMPONENTBUILDER_LAYOUTS_EXPORT_DESC" />
@ -513,6 +556,17 @@
<action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" />
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
</section>
<section name="joomla_module">
<action name="joomla_module.edit" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_DESC" />
<action name="joomla_module.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN_DESC" />
<action name="joomla_module.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE_DESC" />
<action name="joomla_module.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY_DESC" />
<action name="joomla_module.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE_DESC" />
<action name="joomla_module.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE_DESC" />
<action name="joomla_module.delete" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE_DESC" />
<action name="joomla_module.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS_DESC" />
<action name="joomla_module.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION_DESC" />
</section>
<section name="joomla_plugin">
<action name="joomla_plugin.edit" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT_DESC" />
<action name="joomla_plugin.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT_OWN_DESC" />
@ -870,6 +924,17 @@
<action name="component_plugins.access" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_ACCESS_DESC" />
<action name="component_plugins.version" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_VERSION_DESC" />
</section>
<section name="component_modules">
<action name="component_modules.edit" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_DESC" />
<action name="component_modules.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN_DESC" />
<action name="component_modules.edit.state" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE_DESC" />
<action name="component_modules.edit.created_by" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY_DESC" />
<action name="component_modules.edit.created" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE_DESC" />
<action name="component_modules.create" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE_DESC" />
<action name="component_modules.delete" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE_DESC" />
<action name="component_modules.access" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS_DESC" />
<action name="component_modules.version" title="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION_DESC" />
</section>
<section name="snippet_type">
<action name="snippet_type.edit" title="COM_COMPONENTBUILDER_SNIPPET_TYPES_EDIT" description="COM_COMPONENTBUILDER_SNIPPET_TYPES_EDIT_DESC" />
<action name="snippet_type.edit.own" title="COM_COMPONENTBUILDER_SNIPPET_TYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_SNIPPET_TYPES_EDIT_OWN_DESC" />
@ -912,6 +977,28 @@
<action name="class_extends.access" title="COM_COMPONENTBUILDER_CLASS_EXTENDINGS_ACCESS" description="COM_COMPONENTBUILDER_CLASS_EXTENDINGS_ACCESS_DESC" />
<action name="class_extends.version" title="COM_COMPONENTBUILDER_CLASS_EXTENDINGS_EDIT_VERSION" description="COM_COMPONENTBUILDER_CLASS_EXTENDINGS_EDIT_VERSION_DESC" />
</section>
<section name="joomla_module_updates">
<action name="joomla_module_updates.edit" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_DESC" />
<action name="joomla_module_updates.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN_DESC" />
<action name="joomla_module_updates.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE_DESC" />
<action name="joomla_module_updates.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY_DESC" />
<action name="joomla_module_updates.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE_DESC" />
<action name="joomla_module_updates.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE_DESC" />
<action name="joomla_module_updates.delete" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE_DESC" />
<action name="joomla_module_updates.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS_DESC" />
<action name="joomla_module_updates.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION_DESC" />
</section>
<section name="joomla_module_files_folders_urls">
<action name="joomla_module_files_folders_urls.edit" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_DESC" />
<action name="joomla_module_files_folders_urls.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN_DESC" />
<action name="joomla_module_files_folders_urls.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE_DESC" />
<action name="joomla_module_files_folders_urls.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY_DESC" />
<action name="joomla_module_files_folders_urls.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE_DESC" />
<action name="joomla_module_files_folders_urls.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE_DESC" />
<action name="joomla_module_files_folders_urls.delete" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE_DESC" />
<action name="joomla_module_files_folders_urls.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS_DESC" />
<action name="joomla_module_files_folders_urls.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC" />
</section>
<section name="joomla_plugin_group">
<action name="joomla_plugin_group.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_EDIT_VERSION_DESC" />
</section>

View File

@ -0,0 +1,13 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */

View File

@ -0,0 +1,13 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */

View File

@ -0,0 +1,19 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */
#jform_snippet_chzn {
width: 100% !important;
}
.jform_snippet_input_width {
width: 90% !important;
}

View File

@ -0,0 +1,16 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */
.control-group, .controls, .controls input[type="url"], .controls input[type="text"], .controls input[type="number"], .controls input[type="email"], .controls select, .controls textarea {
max-width: 100%;
}

View File

@ -0,0 +1,15 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */
.mysql_update { width: 100%; height: 392px; }
.version_url { min-width: 100%; }

View File

@ -0,0 +1,13 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */

View File

@ -0,0 +1,13 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */

View File

@ -0,0 +1,13 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@ -91,6 +91,7 @@ class ComponentbuilderController extends JControllerLegacy
// the view relationships
$views = array(
'joomla_component' => 'joomla_components',
'joomla_module' => 'joomla_modules',
'joomla_plugin' => 'joomla_plugins',
'admin_view' => 'admin_views',
'custom_admin_view' => 'custom_admin_views',
@ -126,10 +127,13 @@ class ComponentbuilderController extends JControllerLegacy
'component_files_folders' => 'components_files_folders',
'component_placeholders' => 'components_placeholders',
'component_plugins' => 'components_plugins',
'component_modules' => 'components_modules',
'snippet_type' => 'snippet_types',
'library_config' => 'libraries_config',
'library_files_folders_urls' => 'libraries_files_folders_urls',
'class_extends' => 'class_extendings',
'joomla_module_updates' => 'joomla_modules_updates',
'joomla_module_files_folders_urls' => 'joomla_modules_files_folders_urls',
'joomla_plugin_group' => 'joomla_plugin_groups',
'joomla_plugin_updates' => 'joomla_plugins_updates',
'joomla_plugin_files_folders_urls' => 'joomla_plugins_files_folders_urls'

View File

@ -31,6 +31,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
$this->registerTask('getCronPath', 'ajax');
$this->registerTask('getJCBpackageInfo', 'ajax');
$this->registerTask('getCrowdinDetails', 'ajax');
$this->registerTask('getModuleCode', 'ajax');
$this->registerTask('getClassCode', 'ajax');
$this->registerTask('getClassCodeIds', 'ajax');
$this->registerTask('getClassHeaderCode', 'ajax');
@ -304,6 +305,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
}
}
break;
case 'getModuleCode':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$dataValue = $jinput->get('data', NULL, 'STRING');
if($dataValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getModuleCode($dataValue);
}
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 'getClassCode':
try
{
@ -655,7 +694,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$typeValue = $jinput->get('type', NULL, 'INT');
$typeValue = $jinput->get('type', NULL, 'ALNUM');
if($typeValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getLinked($typeValue);
@ -693,7 +732,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$typeValue = $jinput->get('type', NULL, 'INT');
$typeValue = $jinput->get('type', NULL, 'ALNUM');
if($typeValue && $user->id != 0)
{
$result = $this->getModel('ajax')->checkAliasField($typeValue);

View File

@ -95,14 +95,30 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
}
$message .= '<p><button class="btn btn-small btn-success" onclick="Joomla.submitbutton(\'compiler.installCompiledComponent\')">';
$message .= 'Install ' . $model->compiler->filepath['component-folder'] . ' on this <span class="icon-joomla icon-white"></span>Joomla website. (component)</button></p>';
// switch to set multi install button
$add_multi_install = true;
// check if we have modules
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['modules']))
{
foreach ($model->compiler->filepath['modules-folder'] as $module_id => $module_folder)
{
$message .= '<p><button class="btn btn-small btn-success" onclick="Joomla.submitbutton(\'compiler.installCompiledModule\', ' . (int) $module_id . ')">';
$message .= 'Install ' . $module_folder . ' on this <span class="icon-joomla icon-white"></span>Joomla website. (module)</button></p>';
}
}
// check if we have plugins
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['plugins']))
{
$add_multi_install = true;
foreach ($model->compiler->filepath['plugins-folder'] as $plugin_id => $plugin_folder)
{
$message .= '<p><button class="btn btn-small btn-success" onclick="Joomla.submitbutton(\'compiler.installCompiledPlugin\', ' . (int) $plugin_id . ')">';
$message .= 'Install ' . $plugin_folder . ' on this <span class="icon-joomla icon-white"></span>Joomla website. (plugin)</button></p>';
}
}
// set multi install button
if ($add_multi_install)
{
$message .= '<h4>You can install all compiled extensions!</h4>';
$message .= '<p><button class="btn btn-small btn-success" onclick="Joomla.submitbutton(\'compiler.installCompiledExtensions\')">';
$message .= 'Install all above extensions on this <span class="icon-joomla icon-white"></span>Joomla website.</button></p>';
@ -122,31 +138,63 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
$message .= '<p><b>'.$model->compiler->actualTotalHours.' Hours</b> or <b>'.$model->compiler->actualTotalDays.' Eight Hour Days</b> <em>(a total of the realistic time frame for this project)</em><br />';
$message .= '<small>(if creating a folder and file took <b>5 seconds</b> and writing one line of code took <b>10 seconds</b>, with the normal everyday realities at the office, that includes the component planning, mapping & debugging.)</small></p>';
$message .= '<p>Project duration: <b>'.$model->compiler->projectWeekTime. ' weeks</b> or <b>'.$model->compiler->projectMonthTime.' months</b></p>';
// check if we have plugins
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['plugins']))
// check if we have modules or plugins
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['plugins']) || ComponentbuilderHelper::checkArray($model->compiler->filepath['modules']))
{
$plugin_url = array();
$message .= '<h2>Path to Zip Files</h2>';
$message .= '<p><b>Component Path:</b> <code>' . $model->compiler->filepath['component'] . '</code><br />';
$message .= '<b>Component URL:</b> <code>' . $url . '</code><br /><br />';
// load the plugins path/url
foreach ($model->compiler->filepath['plugins'] as $plugin_id => $plugin_path)
// load plugins if found
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['plugins']))
{
// set plugin path
$message .= '<b>Plugin Path:</b> <code>' . $plugin_path . '</code><br />';
if (($pos = strpos($plugin_path, "/tmp/")) !== FALSE)
$plugin_urls = array();
// load the plugins path/url
foreach ($model->compiler->filepath['plugins'] as $plugin_id => $plugin_path)
{
$plugin_urls[$plugin_id] = JURI::root() . substr($plugin_path, $pos + 1);
$message .= '<b>Plugin URL:</b> <code>' . $plugin_urls[$plugin_id] . '</code><br />';
// set plugin path
$message .= '<b>Plugin Path:</b> <code>' . $plugin_path . '</code><br />';
if (($pos = strpos($plugin_path, "/tmp/")) !== FALSE)
{
$plugin_urls[$plugin_id] = JURI::root() . substr($plugin_path, $pos + 1);
$message .= '<b>Plugin URL:</b> <code>' . $plugin_urls[$plugin_id] . '</code><br />';
}
}
}
// load modules if found
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['modules']))
{
$module_urls = array();
// load the modules path/url
foreach ($model->compiler->filepath['modules'] as $module_id => $module_path)
{
// set module path
$message .= '<b>Module Path:</b> <code>' . $module_path . '</code><br />';
if (($pos = strpos($module_path, "/tmp/")) !== FALSE)
{
$module_urls[$module_id] = JURI::root() . substr($module_path, $pos + 1);
$message .= '<b>Module URL:</b> <code>' . $module_urls[$module_id] . '</code><br />';
}
}
}
$message .= '<br /><small>Hey! you can also download these zip files right now!</small><br />';
$message .= '<a class="btn btn-success" href="' . $url . '" ><span class="icon-download icon-white"></span>Download Component</a>&nbsp;&nbsp;';
// load the plugin download URL's
foreach ($plugin_urls as $plugin_id => $plugin_url)
// load the module download URL's
if (isset($module_urls) && ComponentbuilderHelper::checkArray($module_urls))
{
$message .= ' <a class="btn btn-success" href="' . $plugin_url . '" >';
$message .= '<span class="icon-download icon-white"></span>Download ' . $model->compiler->filepath['plugins-folder'][$plugin_id] . '</a>&nbsp;&nbsp;';
foreach ($module_urls as $module_id => $module_url)
{
$message .= ' <a class="btn btn-success" href="' . $module_url . '" >';
$message .= '<span class="icon-download icon-white"></span>Download ' . $model->compiler->filepath['modules-folder'][$module_id] . '</a>&nbsp;&nbsp;';
}
}
// load the plugin download URL's
if (isset($plugin_urls) && ComponentbuilderHelper::checkArray($plugin_urls))
{
foreach ($plugin_urls as $plugin_id => $plugin_url)
{
$message .= ' <a class="btn btn-success" href="' . $plugin_url . '" >';
$message .= '<span class="icon-download icon-white"></span>Download ' . $model->compiler->filepath['plugins-folder'][$plugin_id] . '</a>&nbsp;&nbsp;';
}
}
$message .= '</p>';
$message .= '<p><small><b>Remember!</b> These zip files are in your tmp folder and therefore publicly accessible until you click [Clear tmp]!</small></p>';
@ -164,6 +212,11 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
// set redirect
$this->setRedirect($redirect_url, $message, 'message');
$app->setUserState('com_componentbuilder.component_folder_name', $model->compiler->filepath['component-folder']);
// check if we have modules
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['modules']))
{
$app->setUserState('com_componentbuilder.modules_folder_name', $model->compiler->filepath['modules-folder']);
}
// check if we have plugins
if (ComponentbuilderHelper::checkArray($model->compiler->filepath['plugins']))
{
@ -177,6 +230,7 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
$app->setUserState('com_componentbuilder.message', '');
$app->setUserState('com_componentbuilder.extension_message', '');
$app->setUserState('com_componentbuilder.component_folder_name', '');
$app->setUserState('com_componentbuilder.modules_folder_name', '');
$app->setUserState('com_componentbuilder.plugins_folder_name', '');
// set redirect
$this->setRedirect($redirect_url, $message);
@ -205,8 +259,20 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
$message = JText::_('COM_COMPONENTBUILDER_COULD_NOT_INSTALL_EXTENTIONS');
$_message = array('success' => array(), 'error' => array());
$app = JFactory::getApplication();
$fileNames = $app->getUserState('com_componentbuilder.plugins_folder_name', array());
// start file name array
$fileNames = array();
$fileNames[] = $app->getUserState('com_componentbuilder.component_folder_name', null);
// check if we have modules
$fileNames = ComponentbuilderHelper::mergeArrays(array($fileNames, $app->getUserState('com_componentbuilder.modules_folder_name', array()) ));
// check if we have plugins
$fileNames = ComponentbuilderHelper::mergeArrays(array($fileNames, $app->getUserState('com_componentbuilder.plugins_folder_name', array()) ));
// wipe out the user c-m-p since we are done with them all
$app->setUserState('com_componentbuilder.component_folder_name', '');
$app->setUserState('com_componentbuilder.modules_folder_name', '');
$app->setUserState('com_componentbuilder.plugins_folder_name', '');
// loop and install all extensions found
foreach ($fileNames as $fileName)
{
if ($this->installExtension($fileName))
@ -251,7 +317,14 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
if($user->authorise('core.admin'))
{
$message = JText::_('COM_COMPONENTBUILDER_COULD_NOT_INSTALL_COMPONENT');
$fileName = JFactory::getApplication()->getUserState('com_componentbuilder.component_folder_name');
$app = JFactory::getApplication();
$fileName = $app->getUserState('com_componentbuilder.component_folder_name');
// wipe out the user c-m-p since we are done with them all
$app->setUserState('com_componentbuilder.component_folder_name', '');
$app->setUserState('com_componentbuilder.modules_folder_name', '');
$app->setUserState('com_componentbuilder.plugins_folder_name', '');
if ($this->installExtension($fileName))
{
$message = JText::sprintf('COM_COMPONENTBUILDER_ONLY_SZIP_FILE_WAS_REMOVED_THE_FROM_TMP_FOLDER_DURING_INSTALLATION', $fileName);
@ -263,6 +336,47 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
return false;
}
/**
* Install Compiled Module
*
* @return true on success
*/
public function installCompiledModule()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=compiler', false);
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_MODULE');
if($user->authorise('core.admin'))
{
$message = JText::_('COM_COMPONENTBUILDER_COULD_NOT_INSTALL_MODULE');
$app = JFactory::getApplication();
$fileNames = $app->getUserState('com_componentbuilder.modules_folder_name');
// wipe out the user c-m-p since we are done with them all
$app->setUserState('com_componentbuilder.component_folder_name', '');
$app->setUserState('com_componentbuilder.modules_folder_name', '');
$app->setUserState('com_componentbuilder.plugins_folder_name', '');
if (ComponentbuilderHelper::checkArray($fileNames))
{
$jinput = JFactory::getApplication()->input;
$moduleId = $jinput->post->get('install_item_id', 0, 'INT');
if ($moduleId > 0 && isset($fileNames[$moduleId]) && $this->installExtension($fileNames[$moduleId]))
{
$message = JText::sprintf('COM_COMPONENTBUILDER_ONLY_SZIP_FILE_WAS_REMOVED_THE_FROM_TMP_FOLDER_DURING_INSTALLATION', $fileNames[$moduleId]);
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
/**
* Install Compiled Plugin
*
@ -282,6 +396,12 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
$message = JText::_('COM_COMPONENTBUILDER_COULD_NOT_INSTALL_PLUGIN');
$app = JFactory::getApplication();
$fileNames = $app->getUserState('com_componentbuilder.plugins_folder_name');
// wipe out the user c-m-p since we are done with them all
$app->setUserState('com_componentbuilder.component_folder_name', '');
$app->setUserState('com_componentbuilder.modules_folder_name', '');
$app->setUserState('com_componentbuilder.plugins_folder_name', '');
if (ComponentbuilderHelper::checkArray($fileNames))
{
$jinput = JFactory::getApplication()->input;

View File

@ -0,0 +1,321 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Component_modules Controller
*/
class ComponentbuilderControllerComponent_modules extends JControllerForm
{
/**
* Current or most recently performed task.
*
* @var string
* @since 12.2
* @note Replaces _task.
*/
protected $task;
/**
* Class constructor.
*
* @param array $config A named array of configuration variables.
*
* @since 1.6
*/
public function __construct($config = array())
{
$this->view_list = 'Components_modules'; // 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())
{
// Get user object.
$user = JFactory::getUser();
// Access check.
$access = $user->authorise('component_modules.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return $user->authorise('component_modules.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('component_modules.access', 'com_componentbuilder.component_modules.' . (int) $recordId) && $user->authorise('component_modules.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('component_modules.edit', 'com_componentbuilder.component_modules.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('component_modules.edit.own', 'com_componentbuilder.component_modules.' . $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('component_modules.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('component_modules.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 1.6
*/
protected function getRedirectToItemAppend($recordId = null, $urlVar = 'id')
{
// get the referral options (old method use return instead see parent)
$ref = $this->input->get('ref', 0, 'string');
$refid = $this->input->get('refid', 0, 'int');
// get redirect info.
$append = parent::getRedirectToItemAppend($recordId, $urlVar);
// set the referral options
if ($refid && $ref)
{
$append = '&ref=' . (string)$ref . '&refid='. (int)$refid . $append;
}
elseif ($ref)
{
$append = '&ref='. (string)$ref . $append;
}
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('Component_modules', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=components_modules' . $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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$cancel = parent::cancel($key);
if (!is_null($return) && JUri::isInternal(base64_decode($return)))
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$canReturn = (!is_null($return) && JUri::isInternal(base64_decode($return)));
if ($this->ref || $this->refid || $canReturn)
{
// to make sure the item is checkedin on redirect
$this->task = 'save';
}
$saved = parent::save($key, $urlVar);
// This is not needed since parent save already does this
// Due to the ref and refid implementation we need to add this
if ($canReturn)
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
return $saved;
}
/**
* Function that allows child controller access to model data
* after the data has been saved.
*
* @param JModel &$model The data model object.
* @param array $validData The validated data.
*
* @return void
*
* @since 11.1
*/
protected function postSaveHook(JModelLegacy $model, $validData = array())
{
return;
}
}

View File

@ -0,0 +1,43 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Components_modules Controller
*/
class ComponentbuilderControllerComponents_modules extends JControllerAdmin
{
/**
* The prefix to use with controller messages.
*
* @var string
* @since 1.6
*/
protected $text_prefix = 'COM_COMPONENTBUILDER_COMPONENTS_MODULES';
/**
* Method to get a model object, loading it if required.
*
* @param string $name The model name. Optional.
* @param string $prefix The class prefix. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JModelLegacy The model.
*
* @since 1.6
*/
public function getModel($name = 'Component_modules', $prefix = 'ComponentbuilderModel', $config = array('ignore_request' => true))
{
return parent::getModel($name, $prefix, $config);
}
}

View File

@ -0,0 +1,347 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Joomla_module Controller
*/
class ComponentbuilderControllerJoomla_module extends JControllerForm
{
/**
* Current or most recently performed task.
*
* @var string
* @since 12.2
* @note Replaces _task.
*/
protected $task;
/**
* Class constructor.
*
* @param array $config A named array of configuration variables.
*
* @since 1.6
*/
public function __construct($config = array())
{
$this->view_list = 'Joomla_modules'; // 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())
{
// Get user object.
$user = JFactory::getUser();
// Access check.
$access = $user->authorise('joomla_module.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return $user->authorise('joomla_module.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('joomla_module.access', 'com_componentbuilder.joomla_module.' . (int) $recordId) && $user->authorise('joomla_module.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('joomla_module.edit', 'com_componentbuilder.joomla_module.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('joomla_module.edit.own', 'com_componentbuilder.joomla_module.' . $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('joomla_module.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('joomla_module.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 1.6
*/
protected function getRedirectToItemAppend($recordId = null, $urlVar = 'id')
{
// get the referral options (old method use return instead see parent)
$ref = $this->input->get('ref', 0, 'string');
$refid = $this->input->get('refid', 0, 'int');
// get redirect info.
$append = parent::getRedirectToItemAppend($recordId, $urlVar);
// set the referral options
if ($refid && $ref)
{
$append = '&ref=' . (string)$ref . '&refid='. (int)$refid . $append;
}
elseif ($ref)
{
$append = '&ref='. (string)$ref . $append;
}
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('Joomla_module', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_modules' . $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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$cancel = parent::cancel($key);
if (!is_null($return) && JUri::isInternal(base64_decode($return)))
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$canReturn = (!is_null($return) && JUri::isInternal(base64_decode($return)));
if ($this->ref || $this->refid || $canReturn)
{
// to make sure the item is checkedin on redirect
$this->task = 'save';
}
$saved = parent::save($key, $urlVar);
// This is not needed since parent save already does this
// Due to the ref and refid implementation we need to add this
if ($canReturn)
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
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())
{
// get the state object (Joomla\CMS\Object\CMSObject)
$state = $model->get('state');
// if we save2copy we need to also copy linked tables found!
if ($state->task === 'save2copy' && $state->{'joomla_plugin.new'})
{
// get new ID
$newID = $state->{'joomla_module.id'};
// get old ID
$oldID = $this->input->get('id', 0, 'INT');
// linked tables to update
$_tablesArray = array(
'joomla_module_updates' => 'joomla_module',
'joomla_module_files_folders_urls' => 'joomla_module'
);
foreach($_tablesArray as $_updateTable => $_key)
{
// get the linked ID
if ($_value = ComponentbuilderHelper::getVar($_updateTable, $oldID, $_key, 'id'))
{
// copy fields to new linked table
ComponentbuilderHelper::copyItem(/*id->*/ $_value, /*table->*/ $_updateTable, /*change->*/ array($_key => $newID));
}
}
}
return;
}
}

View File

@ -0,0 +1,321 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Joomla_module_files_folders_urls Controller
*/
class ComponentbuilderControllerJoomla_module_files_folders_urls extends JControllerForm
{
/**
* Current or most recently performed task.
*
* @var string
* @since 12.2
* @note Replaces _task.
*/
protected $task;
/**
* Class constructor.
*
* @param array $config A named array of configuration variables.
*
* @since 1.6
*/
public function __construct($config = array())
{
$this->view_list = 'Joomla_modules_files_folders_urls'; // 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())
{
// Get user object.
$user = JFactory::getUser();
// Access check.
$access = $user->authorise('joomla_module_files_folders_urls.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return $user->authorise('joomla_module_files_folders_urls.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('joomla_module_files_folders_urls.access', 'com_componentbuilder.joomla_module_files_folders_urls.' . (int) $recordId) && $user->authorise('joomla_module_files_folders_urls.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('joomla_module_files_folders_urls.edit', 'com_componentbuilder.joomla_module_files_folders_urls.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('joomla_module_files_folders_urls.edit.own', 'com_componentbuilder.joomla_module_files_folders_urls.' . $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('joomla_module_files_folders_urls.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('joomla_module_files_folders_urls.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 1.6
*/
protected function getRedirectToItemAppend($recordId = null, $urlVar = 'id')
{
// get the referral options (old method use return instead see parent)
$ref = $this->input->get('ref', 0, 'string');
$refid = $this->input->get('refid', 0, 'int');
// get redirect info.
$append = parent::getRedirectToItemAppend($recordId, $urlVar);
// set the referral options
if ($refid && $ref)
{
$append = '&ref=' . (string)$ref . '&refid='. (int)$refid . $append;
}
elseif ($ref)
{
$append = '&ref='. (string)$ref . $append;
}
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('Joomla_module_files_folders_urls', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_modules_files_folders_urls' . $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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$cancel = parent::cancel($key);
if (!is_null($return) && JUri::isInternal(base64_decode($return)))
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$canReturn = (!is_null($return) && JUri::isInternal(base64_decode($return)));
if ($this->ref || $this->refid || $canReturn)
{
// to make sure the item is checkedin on redirect
$this->task = 'save';
}
$saved = parent::save($key, $urlVar);
// This is not needed since parent save already does this
// Due to the ref and refid implementation we need to add this
if ($canReturn)
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
return $saved;
}
/**
* Function that allows child controller access to model data
* after the data has been saved.
*
* @param JModel &$model The data model object.
* @param array $validData The validated data.
*
* @return void
*
* @since 11.1
*/
protected function postSaveHook(JModelLegacy $model, $validData = array())
{
return;
}
}

View File

@ -0,0 +1,339 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Joomla_module_updates Controller
*/
class ComponentbuilderControllerJoomla_module_updates extends JControllerForm
{
/**
* Current or most recently performed task.
*
* @var string
* @since 12.2
* @note Replaces _task.
*/
protected $task;
/**
* Class constructor.
*
* @param array $config A named array of configuration variables.
*
* @since 1.6
*/
public function __construct($config = array())
{
$this->view_list = 'Joomla_modules_updates'; // 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())
{
// Get user object.
$user = JFactory::getUser();
// Access check.
$access = $user->authorise('joomla_module_updates.access', 'com_componentbuilder');
if (!$access)
{
return false;
}
// In the absense of better information, revert to the component permissions.
return $user->authorise('joomla_module_updates.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('joomla_module_updates.access', 'com_componentbuilder.joomla_module_updates.' . (int) $recordId) && $user->authorise('joomla_module_updates.access', 'com_componentbuilder'));
if (!$access)
{
return false;
}
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('joomla_module_updates.edit', 'com_componentbuilder.joomla_module_updates.' . (int) $recordId);
if (!$permission)
{
if ($user->authorise('joomla_module_updates.edit.own', 'com_componentbuilder.joomla_module_updates.' . $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('joomla_module_updates.edit.own', 'com_componentbuilder'))
{
return true;
}
}
}
return false;
}
}
// Since there is no permission, revert to the component permissions.
return $user->authorise('joomla_module_updates.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 1.6
*/
protected function getRedirectToItemAppend($recordId = null, $urlVar = 'id')
{
// get the referral options (old method use return instead see parent)
$ref = $this->input->get('ref', 0, 'string');
$refid = $this->input->get('refid', 0, 'int');
// get redirect info.
$append = parent::getRedirectToItemAppend($recordId, $urlVar);
// set the referral options
if ($refid && $ref)
{
$append = '&ref=' . (string)$ref . '&refid='. (int)$refid . $append;
}
elseif ($ref)
{
$append = '&ref='. (string)$ref . $append;
}
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('Joomla_module_updates', '', array());
// Preset the redirect
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_modules_updates' . $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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$cancel = parent::cancel($key);
if (!is_null($return) && JUri::isInternal(base64_decode($return)))
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
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 referral options
$this->ref = $this->input->get('ref', 0, 'word');
$this->refid = $this->input->get('refid', 0, 'int');
// Check if there is a return value
$return = $this->input->get('return', null, 'base64');
$canReturn = (!is_null($return) && JUri::isInternal(base64_decode($return)));
if ($this->ref || $this->refid || $canReturn)
{
// to make sure the item is checkedin on redirect
$this->task = 'save';
}
$saved = parent::save($key, $urlVar);
// This is not needed since parent save already does this
// Due to the ref and refid implementation we need to add this
if ($canReturn)
{
$redirect = base64_decode($return);
// Redirect to the return value.
$this->setRedirect(
JRoute::_(
$redirect, false
)
);
}
elseif ($this->refid && $this->ref)
{
$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
)
);
}
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())
{
// update the component version to match the updated last version
if (isset($validData['joomla_plugin']) && is_numeric($validData['joomla_plugin']) && $validData['joomla_plugin'] > 0)
{
$objectUpdate = new stdClass();
$objectUpdate->id = (int) $validData['joomla_plugin'];
if (isset($validData['version_update']) && ComponentbuilderHelper::checkArray($validData['version_update'])
&& ($plugin_version = end($validData['version_update'])['version'])
&& ComponentbuilderHelper::checkString($plugin_version))
{
$objectUpdate->plugin_version = $plugin_version;
}
// be sure to update the table if we have a value
if (isset($objectUpdate->plugin_version))
{
JFactory::getDbo()->updateObject('#__componentbuilder_joomla_plugin', $objectUpdate, 'id');
}
}
return;
}
}

View File

@ -0,0 +1,52 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Joomla_modules Controller
*/
class ComponentbuilderControllerJoomla_modules extends JControllerAdmin
{
/**
* The prefix to use with controller messages.
*
* @var string
* @since 1.6
*/
protected $text_prefix = 'COM_COMPONENTBUILDER_JOOMLA_MODULES';
/**
* Method to get a model object, loading it if required.
*
* @param string $name The model name. Optional.
* @param string $prefix The class prefix. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JModelLegacy The model.
*
* @since 1.6
*/
public function getModel($name = 'Joomla_module', $prefix = 'ComponentbuilderModel', $config = array('ignore_request' => true))
{
return parent::getModel($name, $prefix, $config);
}
public function getSnippets()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// redirect to the import snippets custom admin view
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=get_snippets', false));
return;
}
}

View File

@ -0,0 +1,43 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Joomla_modules_files_folders_urls Controller
*/
class ComponentbuilderControllerJoomla_modules_files_folders_urls extends JControllerAdmin
{
/**
* The prefix to use with controller messages.
*
* @var string
* @since 1.6
*/
protected $text_prefix = 'COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS';
/**
* Method to get a model object, loading it if required.
*
* @param string $name The model name. Optional.
* @param string $prefix The class prefix. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JModelLegacy The model.
*
* @since 1.6
*/
public function getModel($name = 'Joomla_module_files_folders_urls', $prefix = 'ComponentbuilderModel', $config = array('ignore_request' => true))
{
return parent::getModel($name, $prefix, $config);
}
}

View File

@ -0,0 +1,43 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Joomla_modules_updates Controller
*/
class ComponentbuilderControllerJoomla_modules_updates extends JControllerAdmin
{
/**
* The prefix to use with controller messages.
*
* @var string
* @since 1.6
*/
protected $text_prefix = 'COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES';
/**
* Method to get a model object, loading it if required.
*
* @param string $name The model name. Optional.
* @param string $prefix The class prefix. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JModelLegacy The model.
*
* @since 1.6
*/
public function getModel($name = 'Joomla_module_updates', $prefix = 'ComponentbuilderModel', $config = array('ignore_request' => true))
{
return parent::getModel($name, $prefix, $config);
}
}

View File

@ -157,6 +157,8 @@ class Compiler extends Infusion
// done with error
return false;
}
// if there are modules zip them
$this->zipModules();
// if there are plugins zip them
$this->zipPlugins();
// do lang mismatch check
@ -268,6 +270,62 @@ class Compiler extends Infusion
}
// free up some memory
unset($this->newFiles['dynamic']);
// do modules if found
if (ComponentbuilderHelper::checkArray($this->joomlaModules))
{
foreach ($this->joomlaModules as $module)
{
if (ComponentbuilderHelper::checkObject($module) && isset($this->newFiles[$module->key]) && ComponentbuilderHelper::checkArray($this->newFiles[$module->key]))
{
// move field or rule if needed
if (isset($module->fields_rules_paths) && $module->fields_rules_paths == 2)
{
// check the config fields
if (isset($module->config_fields) && ComponentbuilderHelper::checkArray($module->config_fields))
{
foreach ($module->config_fields as $field_name => $fieldsets)
{
foreach ($fieldsets as $fieldset => $fields)
{
foreach ($fields as $field)
{
$this->moveFieldsRules($field, $module->folder_path);
}
}
}
}
// check the fieldsets
if (isset($module->form_files) && ComponentbuilderHelper::checkArray($module->form_files))
{
foreach($module->form_files as $file => $files)
{
foreach ($files as $field_name => $fieldsets)
{
foreach ($fieldsets as $fieldset => $fields)
{
foreach ($fields as $field)
{
$this->moveFieldsRules($field, $module->folder_path);
}
}
}
}
}
}
// update the module files
foreach ($this->newFiles[$module->key] as $module_file)
{
if (JFile::exists($module_file['path']))
{
$this->setFileContent($module_file['name'], $module_file['path'], $bom, $module->key);
}
}
// free up some memory
unset($this->newFiles[$module->key]);
unset($this->fileContentDynamic[$module->key]);
}
}
}
// do plugins if found
if (ComponentbuilderHelper::checkArray($this->joomlaPlugins))
{
@ -310,7 +368,7 @@ class Compiler extends Infusion
}
}
}
// now move the files
// update the plugin files
foreach ($this->newFiles[$plugin->key] as $plugin_file)
{
if (JFile::exists($plugin_file['path']))
@ -572,6 +630,27 @@ class Compiler extends Infusion
// Trigger Event: jcb_ce_onAfterUpdateRepo
$this->triggerEvent('jcb_ce_onAfterUpdateRepo', array(&$this->componentContext, &$this->componentPath, &$repoFullPath, &$this->componentData));
// move the modules to local folder repos
if (ComponentbuilderHelper::checkArray($this->joomlaModules))
{
foreach ($this->joomlaModules as $module)
{
if (ComponentbuilderHelper::checkObject($module) && isset($module->file_name))
{
$module_context = 'module.' . $module->file_name . '.' . $module->id;
// set the repo path
$repoFullPath = $this->repoPath . '/' . $module->folder_name . '__joomla_' . $this->joomlaVersion;
// Trigger Event: jcb_ce_onBeforeUpdateRepo
$this->triggerEvent('jcb_ce_onBeforeUpdateRepo', array(&$module_context, &$module->folder_path, &$repoFullPath, &$module));
// remove old data
$this->removeFolder($repoFullPath, $this->componentData->toignore);
// set the new data
JFolder::copy($module->folder_path, $repoFullPath, '', true);
// Trigger Event: jcb_ce_onAfterUpdateRepo
$this->triggerEvent('jcb_ce_onAfterUpdateRepo', array(&$module_context, &$module->folder_path, &$repoFullPath, &$module));
}
}
}
// move the plugins to local folder repos
if (ComponentbuilderHelper::checkArray($this->joomlaPlugins))
{
@ -639,6 +718,60 @@ class Compiler extends Infusion
return false;
}
private function zipModules()
{
if (ComponentbuilderHelper::checkArray($this->joomlaModules))
{
foreach ($this->joomlaModules as $module)
{
if (ComponentbuilderHelper::checkObject($module) && isset($module->zip_name)
&& ComponentbuilderHelper::checkString($module->zip_name)
&& isset($module->folder_path)
&& ComponentbuilderHelper::checkString($module->folder_path))
{
// set module context
$module_context = $module->file_name . '.' . $module->id;
// Component Folder Name
$this->filepath['modules-folder'][$module->id] = $module->zip_name;
// the name of the zip file to create
$this->filepath['modules'][$module->id] = $this->tempPath . '/' . $module->zip_name . '.zip';
// Trigger Event: jcb_ce_onBeforeZipModule
$this->triggerEvent('jcb_ce_onBeforeZipModule', array(&$module_context, &$module->folder_path, &$this->filepath['modules'][$module->id], &$this->tempPath, &$module->zip_name, &$module));
//create the zip file
if (ComponentbuilderHelper::zip($module->folder_path, $this->filepath['modules'][$module->id]))
{
// now move to backup if zip was made and backup is required
if ($this->backupPath)
{
$__module_context = 'module.' . $module_context;
// Trigger Event: jcb_ce_onBeforeBackupZip
$this->triggerEvent('jcb_ce_onBeforeBackupZip', array(&$__module_context, &$this->filepath['modules'][$module->id], &$this->tempPath, &$this->backupPath, &$module));
// copy the zip to backup path
JFile::copy($this->filepath['modules'][$module->id], $this->backupPath . '/' . $module->zip_name . '.zip');
}
// move to sales server host
if ($module->add_sales_server == 1)
{
// make sure we have the correct file
if (isset($module->sales_server))
{
// Trigger Event: jcb_ce_onBeforeMoveToServer
$this->triggerEvent('jcb_ce_onBeforeMoveToServer', array(&$__module_context, &$this->filepath['modules'][$module->id], &$this->tempPath, &$module->zip_name, &$module));
// move to server
ComponentbuilderHelper::moveToServer($this->filepath['modules'][$module->id], $module->zip_name . '.zip', (int) $module->sales_server, $module->sales_server_protocol);
}
}
// Trigger Event: jcb_ce_onAfterZipModule
$this->triggerEvent('jcb_ce_onAfterZipModule', array(&$module_context, &$this->filepath['modules'][$module->id], &$this->tempPath, &$module->zip_name, &$module));
// remove the module folder since we are done
$this->removeFolder($module->folder_path);
}
}
}
}
}
private function zipPlugins()
{
if (ComponentbuilderHelper::checkArray($this->joomlaPlugins))

View File

@ -129,6 +129,13 @@ class Get
*/
public $joomlaPlugins = array();
/**
* The Modules data
*
* @var array
*/
public $joomlaModules = array();
/**
* The custom script placeholders - we use the (xxx) to avoid detection it should be (***)
* ##################################---> PHP/JS <---####################################
@ -1036,6 +1043,7 @@ class Get
'j.addfoldersfullpath' => 'addfoldersfullpath',
'c.addsite_views' => 'addsite_views',
'l.addjoomla_plugins' => 'addjoomla_plugins',
'k.addjoomla_modules' => 'addjoomla_modules',
'i.dashboard_tab' => 'dashboard_tab',
'i.php_dashboard_methods' => 'php_dashboard_methods',
'i.id' => 'component_dashboard_id',
@ -1062,7 +1070,8 @@ class Get
'h' => 'component_config',
'i' => 'component_dashboard',
'j' => 'component_files_folders',
'l' => 'component_plugins'
'l' => 'component_plugins',
'k' => 'component_modules'
);
// load the joins
foreach($joiners as $as => $join)
@ -1602,7 +1611,7 @@ class Get
// README
if ($component->addreadme)
{
$component->readme = base64_decode($component->readme);
$component->readme = $this->setDynamicValues(base64_decode($component->readme));
}
else
{
@ -1683,12 +1692,26 @@ class Get
// the default is to ignore the repo folder
$component->toignore = array('.git');
}
// get all modules
$component->addjoomla_modules = (isset($component->addjoomla_modules) && ComponentbuilderHelper::checkJson($component->addjoomla_modules)) ? json_decode($component->addjoomla_modules, true) : null;
if (ComponentbuilderHelper::checkArray($component->addjoomla_modules))
{
$joomla_modules = array_map(function($array) use(&$component) {
// only load the modules whose target association calls for it
if (!isset($array['target']) || $array['target'] != 2)
{
return $this->setJoomlaModule($array['module'], $component);
}
return null;
}, array_values($component->addjoomla_modules));
}
unset($component->addjoomla_modules);
// get all plugins
$component->addjoomla_plugins = (isset($component->addjoomla_plugins) && ComponentbuilderHelper::checkJson($component->addjoomla_plugins)) ? json_decode($component->addjoomla_plugins, true) : null;
if (ComponentbuilderHelper::checkArray($component->addjoomla_plugins))
{
$joomla_plugins = array_map(function($array) use(&$component) {
// only load the plugins whose target association calles for it
// only load the plugins whose target association calls for it
if (!isset($array['target']) || $array['target'] != 2)
{
return $this->setJoomlaPlugin($array['plugin'], $component);
@ -4523,7 +4546,7 @@ class Get
// check if the lib has already been set
if (!isset($this->libraries[$id]))
{
// make sure we should continue and that the lib is not already bein loaded
// make sure we should continue and that the lib is not already being loaded
switch ($id)
{
case 1: // No Library
@ -6218,6 +6241,576 @@ class Get
return false;
}
/**
* get the Joomla Modules IDs
*
* @return array of IDs on success
*
*/
protected function getModuleIDs()
{
if (($addjoomla_modules = ComponentbuilderHelper::getVar('component_modules', $this->componentID, 'joomla_component', 'addjoomla_modules')) !== false)
{
$addjoomla_modules = (ComponentbuilderHelper::checkJson($addjoomla_modules)) ? json_decode($addjoomla_modules, true) : null;
if (ComponentbuilderHelper::checkArray($addjoomla_modules))
{
$joomla_modules = array_filter(
array_values($addjoomla_modules),
function($array){
// only load the modules whose target association call for it
if (!isset($array['target']) || $array['target'] != 2)
{
return true;
}
return false;
});
// if we have values we return IDs
if (ComponentbuilderHelper::checkArray($joomla_modules))
{
return array_map(function($array){
return (int) $array['module'];
}, $joomla_modules);
}
}
}
return false;
}
/**
* set the Joomla modules
*
* @return true
*
*/
public function setJoomlaModule($id, &$component)
{
if (isset($this->joomlaModules[$id]))
{
return true;
}
else
{
// Create a new query object.
$query = $this->db->getQuery(true);
$query->select('a.*');
$query->select(
$this->db->quoteName(
array(
'f.addfiles',
'f.addfolders',
'f.addfilesfullpath',
'f.addfoldersfullpath',
'f.addurls',
'u.version_update',
'u.id'
), array(
'addfiles',
'addfolders',
'addfilesfullpath',
'addfoldersfullpath',
'addurls',
'version_update',
'version_update_id'
)
)
);
// from these tables
$query->from('#__componentbuilder_joomla_module AS a');
$query->join('LEFT', $this->db->quoteName('#__componentbuilder_joomla_module_updates', 'u') . ' ON (' . $this->db->quoteName('a.id') . ' = ' . $this->db->quoteName('u.joomla_module') . ')');
$query->join('LEFT', $this->db->quoteName('#__componentbuilder_joomla_module_files_folders_urls', 'f') . ' ON (' . $this->db->quoteName('a.id') . ' = ' . $this->db->quoteName('f.joomla_module') . ')');
$query->where($this->db->quoteName('a.id') . ' = ' . (int) $id);
$query->where($this->db->quoteName('a.published') . ' >= 1');
$this->db->setQuery($query);
$this->db->execute();
if ($this->db->getNumRows())
{
// get the module data
$module = $this->db->loadObject();
// tweak system to set stuff to the module domain
$_backup_target = $this->target;
$_backup_lang = $this->lang;
$_backup_langPrefix = $this->langPrefix;
// set some keys
$module->target_type = 'M0dU|3';
$module->key = $module->id . '_' . $module->target_type;
// update to point to module
$this->target = $module->key;
$this->lang = $module->key;
// set version if not set
if (empty($module->module_version))
{
$module->module_version = '1.0.0';
}
// set GUI mapper
$guiMapper = array( 'table' => 'joomla_module', 'id' => (int) $id, 'type' => 'php');
// update the name if it has dynamic values
$module->name = $this->setPlaceholders($this->setDynamicValues($module->name), $this->placeholders);
// update the name if it has dynamic values
$module->code_name = ComponentbuilderHelper::safeClassFunctionName($module->name);
// set official name
$module->official_name = ucwords($module->name);
// set langPrefix
$this->langPrefix = 'MOD_' . strtoupper($module->code_name);
// set lang prefix
$module->lang_prefix = $this->langPrefix;
// set module class name
$module->class_helper_name = 'Mod' . ucfirst($module->code_name) . 'Helper';
$module->class_data_name = 'Mod' . ucfirst($module->code_name) . 'Data';
// set module install class name
$module->installer_class_name = 'mod_' . ucfirst($module->code_name) . 'InstallerScript';
// set module folder name
$module->folder_name = 'mod_' . strtolower($module->code_name);
// set the zip name
$module->zip_name = $module->folder_name . '_v' . str_replace('.', '_', $module->module_version). '__J' . $this->joomlaVersion;
// set module file name
$module->file_name = $module->folder_name;
// set official_name lang strings
$this->setLangContent($module->key, $this->langPrefix, $module->official_name);
// set some placeholder for this module
$this->placeholders[$this->bbb . 'Module_name' . $this->ddd] = $module->official_name;
$this->placeholders[$this->bbb . 'Module' . $this->ddd] = ucfirst($module->code_name);
$this->placeholders[$this->bbb . 'module' . $this->ddd] = strtolower($module->code_name);
$this->placeholders[$this->bbb . 'module.version' . $this->ddd] = $module->module_version;
$this->placeholders[$this->bbb . 'module_version' . $this->ddd] = str_replace('.', '_', $module->module_version);
// set description (TODO) add description field to module
if (!isset($module->description) || !ComponentbuilderHelper::checkString($module->description))
{
$module->description = '';
}
else
{
$module->description = $this->setPlaceholders($this->setDynamicValues($module->description), $this->placeholders);
$this->setLangContent($module->key, $module->lang_prefix . '_DESCRIPTION', $module->description);
$module->description = '<p>' . $module->description . '</p>';
}
$module->xml_description = "<h1>" . $module->official_name . " (v." . $module->module_version . ")</h1> <div style='clear: both;'></div>" . $module->description . "<p>Created by <a href='" . trim($component->website) . "' target='_blank'>" . trim(JFilterOutput::cleanText($component->author)) . "</a><br /><small>Development started " . JFactory::getDate($module->created)->format("jS F, Y") . "</small></p>";
// set xml description
$this->setLangContent($module->key, $module->lang_prefix . '_XML_DESCRIPTION', $module->xml_description);
// update the readme if set
if ($module->addreadme == 1 && !empty($module->readme))
{
$module->readme = $this->setPlaceholders($this->setDynamicValues(base64_decode($module->readme)), $this->placeholders);
}
else
{
$module->addreadme = 0;
unset($module->readme);
}
// get the custom_get
$module->custom_get = (isset($module->custom_get) && ComponentbuilderHelper::checkJson($module->custom_get)) ? json_decode($module->custom_get, true) : null;
if (ComponentbuilderHelper::checkArray($module->custom_get))
{
$module->custom_get = $this->setGetData($module->custom_get, $module->key, $module->key);
}
else
{
$module->custom_get = false;
}
// set helper class details
if ($module->add_class_helper >= 1 && ComponentbuilderHelper::checkString($module->class_helper_code))
{
if ($module->add_class_helper_header == 1 && ComponentbuilderHelper::checkString($module->class_helper_header))
{
// set GUI mapper field
$guiMapper['field'] = 'class_helper_header';
// base64 Decode code
$module->class_helper_header = PHP_EOL . $this->setGuiCodePlaceholder(
$this->setPlaceholders($this->setDynamicValues(base64_decode($module->class_helper_header)), $this->placeholders),
$guiMapper
) . PHP_EOL;
}
else
{
$module->add_class_helper_header = 0;
$module->class_helper_header = '';
}
// set GUI mapper field
$guiMapper['field'] = 'class_helper_code';
// base64 Decode code
$module->class_helper_code = $this->setGuiCodePlaceholder(
$this->setPlaceholders($this->setDynamicValues(base64_decode($module->class_helper_code)), $this->placeholders),
$guiMapper
);
// set class type
if ($module->add_class_helper == 2)
{
$module->class_helper_type = 'abstract class ';
}
else
{
$module->class_helper_type = 'class ';
}
}
else
{
$module->add_class_helper = 0;
$module->class_helper_code = '';
$module->class_helper_header = '';
}
// base64 Decode mod_code
if (isset($module->mod_code) && ComponentbuilderHelper::checkString($module->mod_code))
{
// set GUI mapper field
$guiMapper['field'] = 'mod_code';
$module->mod_code = $this->setGuiCodePlaceholder(
$this->setPlaceholders($this->setDynamicValues(base64_decode($module->mod_code)), $this->placeholders),
$guiMapper
);
}
else
{
$module->mod_code = "// get the module class sfx";
$module->mod_code .= PHP_EOL . "\$moduleclass_sfx = htmlspecialchars(\$params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8');";
$module->mod_code .= PHP_EOL . "// load the default Tmpl";
$module->mod_code .= PHP_EOL . "require JModuleHelper::getLayoutPath('mod_" . strtolower($module->code_name) . "', \$params->get('layout', 'default'));";
}
// base64 Decode default header
if (isset($module->default_header) && ComponentbuilderHelper::checkString($module->default_header))
{
// set GUI mapper field
$guiMapper['field'] = 'default_header';
$module->default_header = $this->setGuiCodePlaceholder(
$this->setPlaceholders($this->setDynamicValues(base64_decode($module->default_header)), $this->placeholders),
$guiMapper
);
}
else
{
$module->default_header = '';
}
// base64 Decode default
if (isset($module->default) && ComponentbuilderHelper::checkString($module->default))
{
// set GUI mapper field
$guiMapper['field'] = 'default';
$module->default = $this->setGuiCodePlaceholder(
$this->setPlaceholders($this->setDynamicValues(base64_decode($module->default)), $this->placeholders),
$guiMapper
);
}
else
{
$module->default = '<h1>No Tmpl set</h1>';
}
// start the config array
$module->config_fields = array();
// create the form arrays
$module->form_files = array();
$module->fieldsets_label = array();
$module->fieldsets_paths = array();
// set global fields rule to default component path
$module->fields_rules_paths = 1;
// set the fields data
$module->fields = (isset($module->fields) && ComponentbuilderHelper::checkJson($module->fields)) ? json_decode($module->fields, true) : null;
if (ComponentbuilderHelper::checkArray($module->fields))
{
// ket global key
$key = $module->key;
$dynamic_fields = array('fieldset' => 'basic', 'fields_name' => 'params', 'file' => 'config');
foreach ($module->fields as $n => &$form)
{
if (isset($form['fields']) && ComponentbuilderHelper::checkArray($form['fields']))
{
// make sure the dynamic_field is set to dynamic_value by default
foreach ($dynamic_fields as $dynamic_field => $dynamic_value)
{
if (!isset($form[$dynamic_field]) || !ComponentbuilderHelper::checkString($form[$dynamic_field]))
{
$form[$dynamic_field] = $dynamic_value;
}
else
{
if ('fields_name' === $dynamic_field && strpos($form[$dynamic_field], '.') !== false)
{
$form[$dynamic_field] = $form[$dynamic_field];
}
else
{
$form[$dynamic_field] = ComponentbuilderHelper::safeString($form[$dynamic_field]);
}
}
}
// check if field is external form file
if (!isset($form['module']) || $form['module'] != 1)
{
// now build the form key
$unique = $form['file'] . $form['fields_name'] . $form['fieldset'];
}
else
{
// now build the form key
$unique = $form['fields_name'] . $form['fieldset'];
}
// set global fields rule path switchs
if ($module->fields_rules_paths == 1 && isset($form['fields_rules_paths']) && $form['fields_rules_paths'] == 2)
{
$module->fields_rules_paths = 2;
}
// set where to path is pointing
$module->fieldsets_paths[$unique] = $form['fields_rules_paths'];
// add the label if set to lang
if (isset($form['label']) && ComponentbuilderHelper::checkString($form['label']))
{
$module->fieldsets_label[$unique] = $this->setLang($form['label']);
}
// build the fields
$form['fields'] = array_map(function($field) use ($key, $unique){
// make sure the alias and title is 0
$field['alias'] = 0;
$field['title'] = 0;
// set the field details
$this->setFieldDetails($field, $key, $key, $unique);
// update the default if set
if (ComponentbuilderHelper::checkString($field['custom_value']) && isset($field['settings']))
{
if (($old_default = ComponentbuilderHelper::getBetween($field['settings']->xml, 'default="', '"', false)) !== false)
{
// replace old default
$field['settings']->xml = str_replace('default="' . $old_default . '"', 'default="' . $field['custom_value'] . '"', $field['settings']->xml);
}
else
{
// add the default (hmmm not ideal but okay it should work)
$field['settings']->xml = 'default="' . $field['custom_value'] . '" ' . $field['settings']->xml;
}
}
unset($field['custom_value']);
// return field
return $field;
}, array_values($form['fields']));
// check if field is external form file
if (!isset($form['module']) || $form['module'] != 1)
{
// load the form file
if (!isset($module->form_files[$form['file']]))
{
$module->form_files[$form['file']] = array();
}
if (!isset($module->form_files[$form['file']][$form['fields_name']]))
{
$module->form_files[$form['file']][$form['fields_name']] = array();
}
if (!isset($module->form_files[$form['file']][$form['fields_name']][$form['fieldset']]))
{
$module->form_files[$form['file']][$form['fields_name']][$form['fieldset']] = array();
}
// do some house cleaning (for fields)
foreach ($form['fields'] as $field)
{
// so first we lock the field name in
$this->getFieldName($field, $module->key, $unique);
// add the fields to the global form file builder
$module->form_files[$form['file']][$form['fields_name']][$form['fieldset']][] = $field;
}
// remove form
unset($module->fields[$n]);
}
else
{
// load the config form
if (!isset($module->config_fields[$form['fields_name']]))
{
$module->config_fields[$form['fields_name']] = array();
}
if (!isset($module->config_fields[$form['fields_name']][$form['fieldset']]))
{
$module->config_fields[$form['fields_name']][$form['fieldset']] = array();
}
// do some house cleaning (for fields)
foreach ($form['fields'] as $field)
{
// so first we lock the field name in
$this->getFieldName($field, $module->key, $unique);
// add the fields to the config builder
$module->config_fields[$form['fields_name']][$form['fieldset']][] = $field;
}
// remove form
unset($module->fields[$n]);
}
}
else
{
unset($module->fields[$n]);
}
}
}
unset($module->fields);
// set the add targets
$addArray = array('files' => 'files', 'folders' => 'folders', 'urls' => 'urls', 'filesfullpath' => 'files', 'foldersfullpath' => 'folders');
foreach ($addArray as $addTarget => $targetHere)
{
// set the add target data
$module->{'add' . $addTarget} = (isset($module->{'add' . $addTarget}) && ComponentbuilderHelper::checkJson($module->{'add' . $addTarget})) ? json_decode($module->{'add' . $addTarget}, true) : null;
if (ComponentbuilderHelper::checkArray($module->{'add' . $addTarget}))
{
if (isset($module->{$targetHere}) && ComponentbuilderHelper::checkArray($module->{$targetHere}))
{
foreach ($module->{'add' . $addTarget} as $taget)
{
$module->{$targetHere}[] = $taget;
}
}
else
{
$module->{$targetHere} = array_values($module->{'add' . $addTarget});
}
}
unset($module->{'add' . $addTarget});
}
// load the library
if (!isset($this->libManager[$this->target]))
{
$this->libManager[$this->target] = array();
}
if (!isset($this->libManager[$this->target][$module->code_name]))
{
$this->libManager[$this->target][$module->code_name] = array();
}
// make sure json become array
if (ComponentbuilderHelper::checkJson($module->libraries))
{
$module->libraries = json_decode($module->libraries, true);
}
// if we have an array add it
if (ComponentbuilderHelper::checkArray($module->libraries))
{
foreach ($module->libraries as $library)
{
if (!isset($this->libManager[$this->target][$module->code_name][$library]))
{
if ($this->getMediaLibrary((int) $library))
{
$this->libManager[$this->target][$module->code_name][(int) $library] = true;
}
}
}
}
elseif (is_numeric($module->libraries) && !isset($this->libManager[$this->target][$module->code_name][(int) $module->libraries]))
{
if ($this->getMediaLibrary((int) $module->libraries))
{
$this->libManager[$this->target][$module->code_name][(int) $module->libraries] = true;
}
}
// add PHP in module install
$module->add_install_script = false;
$addScriptMethods = array('php_preflight', 'php_postflight', 'php_method');
$addScriptTypes = array('install', 'update', 'uninstall');
foreach ($addScriptMethods as $scriptMethod)
{
foreach ($addScriptTypes as $scriptType)
{
if (isset($module->{'add_' . $scriptMethod . '_' . $scriptType}) && $module->{'add_' . $scriptMethod . '_' . $scriptType} == 1 && ComponentbuilderHelper::checkString($module->{$scriptMethod . '_' . $scriptType}))
{
// set GUI mapper field
$guiMapper['field'] = $scriptMethod . '_' . $scriptType;
$module->{$scriptMethod . '_' . $scriptType} = $this->setGuiCodePlaceholder(
$this->setPlaceholders($this->setDynamicValues(base64_decode($module->{$scriptMethod . '_' . $scriptType})), $this->placeholders),
$guiMapper
);
$module->add_install_script = true;
}
else
{
unset($module->{$scriptMethod . '_' . $scriptType});
$module->{'add_' . $scriptMethod . '_' . $scriptType} = 0;
}
}
}
// add_sql
if ($module->add_sql == 1 && ComponentbuilderHelper::checkString($module->sql))
{
$module->sql = $this->setPlaceholders($this->setDynamicValues(base64_decode($module->sql)), $this->placeholders);
}
else
{
unset($module->sql);
$module->add_sql = 0;
}
// add_sql_uninstall
if ($module->add_sql_uninstall == 1 && ComponentbuilderHelper::checkString($module->sql_uninstall))
{
$module->sql_uninstall = $this->setPlaceholders($this->setDynamicValues(base64_decode($module->sql_uninstall)), $this->placeholders);
}
else
{
unset($module->sql_uninstall);
$module->add_sql_uninstall = 0;
}
// update the URL of the update_server if set
if ($module->add_update_server == 1 && ComponentbuilderHelper::checkString($module->update_server_url))
{
$module->update_server_url = $this->setPlaceholders($this->setDynamicValues($module->update_server_url), $this->placeholders);
}
// add the update/sales server FTP details if that is the expected protocol
$serverArray = array('update_server', 'sales_server');
foreach ($serverArray as $server)
{
if ($module->{'add_' . $server} == 1 && is_numeric($module->{$server}) && $module->{$server} > 0)
{
// get the server protocol
$module->{$server . '_protocol'} = ComponentbuilderHelper::getVar('server', (int) $module->{$server}, 'id', 'protocol');
}
else
{
$module->{$server} = 0;
// only change this for sales server (update server can be added loacaly to the zip file)
if ('sales_server' === $server)
{
$module->{'add_' . $server} = 0;
}
$module->{$server . '_protocol'} = 0;
}
}
// set the update server stuff (TODO)
// update_server_xml_path
// update_server_xml_file_name
// rest globals
$this->target = $_backup_target;
$this->lang = $_backup_lang;
$this->langPrefix = $_backup_langPrefix;
unset($this->placeholders[$this->bbb . 'Module_name' . $this->ddd]);
unset($this->placeholders[$this->bbb . 'Module' . $this->ddd]);
unset($this->placeholders[$this->bbb . 'module' . $this->ddd]);
unset($this->placeholders[$this->bbb . 'module.version' . $this->ddd]);
unset($this->placeholders[$this->bbb . 'module_version' . $this->ddd]);
$this->joomlaModules[$id] = $module;
return true;
}
}
return false;
}
/**
* get the module xml template
*
* @return string
*
*/
public function getModuleXMLTemplate(&$module)
{
$xml = '<?xml version="1.0" encoding="utf-8"?>';
$xml .= PHP_EOL . '<extension type="module" version="3.8" client="site" method="upgrade">';
$xml .= PHP_EOL . $this->_t(1) . '<name>' . $module->lang_prefix . '</name>';
$xml .= PHP_EOL . $this->_t(1) . '<creationDate>' . $this->hhh . 'BUILDDATE' . $this->hhh . '</creationDate>';
$xml .= PHP_EOL . $this->_t(1) . '<author>' . $this->hhh . 'AUTHOR' . $this->hhh . '</author>';
$xml .= PHP_EOL . $this->_t(1) . '<authorEmail>' . $this->hhh . 'AUTHOREMAIL' . $this->hhh . '</authorEmail>';
$xml .= PHP_EOL . $this->_t(1) . '<authorUrl>' . $this->hhh . 'AUTHORWEBSITE' . $this->hhh . '</authorUrl>';
$xml .= PHP_EOL . $this->_t(1) . '<copyright>' . $this->hhh . 'COPYRIGHT' . $this->hhh . '</copyright>';
$xml .= PHP_EOL . $this->_t(1) . '<license>' . $this->hhh . 'LICENSE' . $this->hhh . '</license>';
$xml .= PHP_EOL . $this->_t(1) . '<version>' . $module->module_version . '</version>';
$xml .= PHP_EOL . $this->_t(1) . '<description>' . $module->lang_prefix . '_XML_DESCRIPTION</description>';
$xml .= $this->hhh . 'MAINXML' . $this->hhh;
$xml .= PHP_EOL . '</extension>';
return $xml;
}
/**
* get the Joomla plugins IDs
*
@ -6234,7 +6827,7 @@ class Get
$joomla_plugins = array_filter(
array_values($addjoomla_plugins),
function($array){
// only load the plugins whose target association calles for it
// only load the plugins whose target association call for it
if (!isset($array['target']) || $array['target'] != 2)
{
return true;
@ -6530,7 +7123,7 @@ class Get
if (!isset($form['plugin']) || $form['plugin'] != 1)
{
// now build the form key
$unique = $form['file'] . $form['fields_name'] . $form['fieldset'];
$unique = $form['file'] . $form['fields_name'] . $form['fieldset'];
}
else
{
@ -6603,7 +7196,7 @@ class Get
}
else
{
// load the cofig form
// load the config form
if (!isset($plugin->config_fields[$form['fields_name']]))
{
$plugin->config_fields[$form['fields_name']] = array();
@ -7228,7 +7821,7 @@ class Get
* @param string $string The code string
* @param array $config The placeholder config values
*
* @return void
* @return string
*
*/
public function setGuiCodePlaceholder($string, $config)
@ -7343,16 +7936,26 @@ class Get
$first_line = strtok($code, PHP_EOL);
// get the GUI target details
$query = explode('.', trim($first_line, '.'));
// cleanup the newlines around the code
$code = trim(str_replace($first_line, '', $code), PHP_EOL) . PHP_EOL;
// reverse placeholder as much as we can
$code = $this->reversePlaceholders($code, $placeholders, $target, $query[2], $query[1], $query[0]);
// update the GUI/Tables/Database
$object = new stdClass();
$object->id = (int) $query[2];
$object->{$query[1]} = base64_encode($code); // (TODO) this may not always work...
// update the value in GUI
$this->db->updateObject('#__componentbuilder_' . (string) $query[0], $object, 'id');
// only continue if we have 3 values in the query
if (is_array($query) && count($query) == 3)
{
// cleanup the newlines around the code
$code = trim(str_replace($first_line, '', $code), PHP_EOL) . PHP_EOL;
// set the ID
$id = (int) $query[2];
// make the field name save
$field = ComponentbuilderHelper::safeFieldName($query[1]);
// make the table name save
$table = ComponentbuilderHelper::safeString($query[0]);
// reverse placeholder as much as we can
$code = $this->reversePlaceholders($code, $placeholders, $target, $id, $field, $table);
// update the GUI/Tables/Database
$object = new stdClass();
$object->id = $id;
$object->{$field} = base64_encode($code); // (TODO) this may not always work...
// update the value in GUI
$this->db->updateObject('#__componentbuilder_' . (string) $table, $object, 'id');
}
}
}
}
@ -7502,7 +8105,23 @@ class Get
// set the lang for both since we don't know what area is being targeted
$_tmp = $this->lang;
// set the lang based on target
if (strpos($target, 'plugin') !== false)
if (strpos($target, 'module') !== false)
{
// backup lang prefix
$_tmp_lang_prefix = $this->langPrefix;
// set the new lang prefix
$this->langPrefix = strtoupper(str_replace('module', 'mod', $target));
// now set the lang
if (isset($this->langKeys[$this->langPrefix]))
{
$this->lang = $this->langKeys[$this->langPrefix];
}
else
{
$this->lang = 'module';
}
}
elseif (strpos($target, 'plugin') !== false)
{
// backup lang prefix
$_tmp_lang_prefix = $this->langPrefix;
@ -7729,6 +8348,19 @@ class Get
$localPaths['site'] = JPATH_ROOT . '/components/com_' . $this->componentCodeName;
// TODO later to include the JS and CSS
$localPaths['media'] = JPATH_ROOT . '/media/com_' . $this->componentCodeName;
// Painfull but we need to folder paths for the linked modules
if (($module_ids = $this->getModuleIDs()) !== false)
{
foreach ($module_ids as $module_id)
{
// get the module group and folder name
// if (($path = $this->getModulePath($module_id)) !== false)
// {
// // set the path
// $localPaths['module_' . str_replace('/', '_', $path)] = JPATH_ROOT . '/modules/' . $path;
// }
}
}
// Painfull but we need to folder paths for the linked plugins
if (($plugin_ids = $this->getPluginIDs()) !== false)
{

View File

@ -371,6 +371,8 @@ class Structure extends Get
$this->removeFolder($this->componentPath);
// load the libraries files/folders and url's
$this->setLibraries();
// load the module files/folders and url's
$this->buildModules();
// load the plugin files/folders and url's
$this->buildPlugins();
// set the Joomla Version Data
@ -404,7 +406,7 @@ class Structure extends Get
*
* @param int $nr The line number
*
* @return void
* @return string
*
*/
private function setLine($nr)
@ -416,6 +418,384 @@ class Structure extends Get
return '';
}
/**
* Build the Modules files, folders, url's and config
*
* @return void
*
*/
private function buildModules()
{
if (ComponentbuilderHelper::checkArray($this->joomlaModules))
{
// Trigger Event: jcb_ce_onBeforeSetModules
$this->triggerEvent('jcb_ce_onBeforeBuildModules', array(&$this->componentContext, &$this->joomlaModules));
foreach ($this->joomlaModules as $module)
{
if (ComponentbuilderHelper::checkObject($module) && isset($module->folder_name)
&& ComponentbuilderHelper::checkString($module->folder_name))
{
// module path
$module->folder_path = $this->compilerPath . '/' . $module->folder_name;
// set the module paths
$this->dynamicPaths[$module->key] = $module->folder_path;
// make sure there is no old build
$this->removeFolder($module->folder_path);
// creat the main component folder
if (!JFolder::exists($module->folder_path))
{
JFolder::create($module->folder_path);
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name, $this->compilerPath);
}
// set main mod file
$fileDetails = array('path' => $module->folder_path . '/' . $module->file_name . '.php',
'name' => $module->file_name . '.php', 'zip' => $module->file_name . '.php');
$this->writeFile($fileDetails['path'],
'<?php' . PHP_EOL . '// main modfile' .
PHP_EOL . $this->hhh . 'BOM' . $this->hhh . PHP_EOL .
PHP_EOL . '// No direct access to this file' . PHP_EOL .
"defined('_JEXEC') or die('Restricted access');" . PHP_EOL .
$this->hhh . 'MODCODE' . $this->hhh);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
// set custom_get
if ($module->custom_get)
{
$fileDetails = array('path' => $module->folder_path . '/data.php',
'name' => 'data.php', 'zip' => 'data.php');
$this->writeFile($fileDetails['path'],
'<?php' . PHP_EOL . '// get data file' .
PHP_EOL . $this->hhh . 'BOM' . $this->hhh . PHP_EOL .
PHP_EOL . '// No direct access to this file' . PHP_EOL .
"defined('_JEXEC') or die('Restricted access');" . PHP_EOL . PHP_EOL .
'/**' . PHP_EOL .
' * Module ' . $module->official_name . ' Data' . PHP_EOL .
' */' . PHP_EOL .
"class " . $module->class_data_name . ' extends \JObject' . PHP_EOL .
"{" . $this->hhh . 'DYNAMICGETS' . $this->hhh . "}" . PHP_EOL);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
}
// set helper file
if ($module->add_class_helper >= 1)
{
$fileDetails = array('path' => $module->folder_path . '/helper.php',
'name' => 'helper.php', 'zip' => 'helper.php');
$this->writeFile($fileDetails['path'],
'<?php' . PHP_EOL . '// helper file' .
PHP_EOL . $this->hhh . 'BOM' . $this->hhh . PHP_EOL .
PHP_EOL . '// No direct access to this file' . PHP_EOL .
"defined('_JEXEC') or die('Restricted access');" . PHP_EOL .
$this->hhh . 'HELPERCODE' . $this->hhh);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
}
// set main xml file
$fileDetails = array('path' => $module->folder_path . '/' . $module->file_name . '.xml',
'name' => $module->file_name . '.xml', 'zip' => $module->file_name . '.xml');
$this->writeFile($fileDetails['path'], $this->getModuleXMLTemplate($module));
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
// set tmpl folder
if (!JFolder::exists($module->folder_path . '/tmpl'))
{
JFolder::create($module->folder_path . '/tmpl');
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name . '/tmpl', $this->compilerPath);
}
// set default file
$fileDetails = array('path' => $module->folder_path . '/tmpl/default.php',
'name' => 'default.php', 'zip' => 'tmpl/default.php');
$this->writeFile($fileDetails['path'],
'<?php' . PHP_EOL . '// default tmpl' .
PHP_EOL . $this->hhh . 'BOM' . $this->hhh . PHP_EOL .
PHP_EOL . '// No direct access to this file' . PHP_EOL .
"defined('_JEXEC') or die('Restricted access');" . PHP_EOL .
$this->hhh . 'MODDEFAULT' . $this->hhh);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
// set install script if needed
if ($module->add_install_script)
{
$fileDetails = array('path' => $module->folder_path . '/script.php',
'name' => 'script.php', 'zip' => 'script.php');
$this->writeFile($fileDetails['path'],
'<?php' . PHP_EOL . '// Script template' .
PHP_EOL . $this->hhh . 'BOM' . $this->hhh . PHP_EOL .
PHP_EOL . '// No direct access to this file' . PHP_EOL .
"defined('_JEXEC') or die('Restricted access');" . PHP_EOL .
$this->hhh . 'INSTALLCLASS' . $this->hhh);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
}
// set readme if found
if ($module->addreadme)
{
$fileDetails = array('path' => $module->folder_path . '/README.md',
'name' => 'README.md', 'zip' => 'README.md');
$this->writeFile($fileDetails['path'], $module->readme);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
}
// set fields & rules folders if needed
if (isset($module->fields_rules_paths) && $module->fields_rules_paths == 2)
{
// create fields folder
if (!JFolder::exists($module->folder_path . '/fields'))
{
JFolder::create($module->folder_path . '/fields');
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name . '/fields', $this->compilerPath);
}
// create rules folder
if (!JFolder::exists($module->folder_path . '/rules'))
{
JFolder::create($module->folder_path . '/rules');
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name . '/rules', $this->compilerPath);
}
}
// set forms folder if needed
if (isset($module->form_files) && ComponentbuilderHelper::checkArray($module->form_files))
{
// create forms folder
if (!JFolder::exists($module->folder_path . '/forms'))
{
JFolder::create($module->folder_path . '/forms');
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name . '/forms', $this->compilerPath);
}
// set the template files
foreach($module->form_files as $file => $fields)
{
// set file details
$fileDetails = array('path' => $module->folder_path . '/forms/' . $file . '.xml',
'name' => $file . '.xml', 'zip' => 'forms/' . $file . '.xml');
// biuld basic XML
$xml = '<?xml version="1.0" encoding="utf-8"?>';
$xml .= PHP_EOL . '<!--' . $this->setLine(__LINE__) . ' default paths of ' . $file . ' form points to ' . $this->componentCodeName . ' -->';
// search if we must add the component path
$add_component_path = false;
foreach ($fields as $field_name => $fieldsets)
{
if (!$add_component_path)
{
foreach ($fieldsets as $fieldset => $field)
{
if (!$add_component_path && isset($module->fieldsets_paths[$file . $field_name . $fieldset]) && $module->fieldsets_paths[$file . $field_name . $fieldset] == 1)
{
$add_component_path = true;
}
}
}
}
// only add if part of the component field types path is required
if ($add_component_path)
{
$xml .= PHP_EOL . '<form';
$xml .= PHP_EOL . $this->_t(1) . 'addrulepath="/administrator/components/com_' . $this->componentCodeName . '/models/rules"';
$xml .= PHP_EOL . $this->_t(1) . 'addfieldpath="/administrator/components/com_' . $this->componentCodeName . '/models/fields"';
$xml .= PHP_EOL . '>';
}
else
{
$xml .= PHP_EOL . '<form>';
}
// add the fields
foreach ($fields as $field_name => $fieldsets)
{
// check if we have an double fields naming set
$field_name_inner = '';
$field_name_outer = $field_name;
if (strpos($field_name, '.') !== false)
{
$field_names = explode('.', $field_name);
if (count((array) $field_names) == 2)
{
$field_name_outer = $field_names[0];
$field_name_inner = $field_names[1];
}
}
$xml .= PHP_EOL . $this->_t(1) . '<fields name="' . $field_name_outer . '">';
foreach ($fieldsets as $fieldset => $field)
{
// default to the field set name
$label = $fieldset;
if (isset($module->fieldsets_label[$file.$field_name.$fieldset]))
{
$label = $module->fieldsets_label[$file.$field_name.$fieldset];
}
// add path to module rules and custom fields
if (isset($module->fieldsets_paths[$file.$field_name.$fieldset]) && $module->fieldsets_paths[$file.$field_name.$fieldset] == 2)
{
$xml .= PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' default paths of ' . $fieldset . ' fieldset points to the module -->';
$xml .= PHP_EOL . $this->_t(1) . '<fieldset name="' . $fieldset . '" label="' . $label . '"';
$xml .= PHP_EOL . $this->_t(2) . 'addrulepath="/modules/' . strtolower($module->code_name) . '/rules"';
$xml .= PHP_EOL . $this->_t(2) . 'addfieldpath="/modules/' . strtolower($module->code_name) . '/fields"';
$xml .= PHP_EOL . $this->_t(1) . '>';
}
else
{
$xml .= PHP_EOL . $this->_t(1) . '<fieldset name="' . $fieldset . '" label="' . $label . '">';
}
// check if we have an inner field set
if (ComponentbuilderHelper::checkString($field_name_inner))
{
$xml .= PHP_EOL . $this->_t(1) . '<fields name="' . $field_name_inner . '">';
}
// add the placeholder of the fields
$xml .= $this->hhh . 'FIELDSET_' . $file.$field_name.$fieldset . $this->hhh;
// check if we have an inner field set
if (ComponentbuilderHelper::checkString($field_name_inner))
{
$xml .= PHP_EOL . $this->_t(1) . '</fields>';
}
$xml .= PHP_EOL . $this->_t(1) . '</fieldset>';
}
$xml .= PHP_EOL . $this->_t(1) . '</fields>';
}
$xml .= PHP_EOL . '</form>';
// add xml to file
$this->writeFile($fileDetails['path'], $xml);
$this->newFiles[$module->key][] = $fileDetails;
// count the file created
$this->fileCount++;
}
}
// set SQL stuff if needed
if ($module->add_sql || $module->add_sql_uninstall)
{
// create SQL folder
if (!JFolder::exists($module->folder_path . '/sql'))
{
JFolder::create($module->folder_path . '/sql');
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name . '/sql', $this->compilerPath);
}
// create mysql folder
if (!JFolder::exists($module->folder_path . '/sql/mysql'))
{
JFolder::create($module->folder_path . '/sql/mysql');
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name . '/sql/mysql', $this->compilerPath);
}
// now set the install file
if ($module->add_sql)
{
$this->writeFile($module->folder_path . '/sql/mysql/install.sql', $module->sql);
// count the file created
$this->fileCount++;
}
// now set the uninstall file
if ($module->add_sql_uninstall)
{
$this->writeFile($module->folder_path . '/sql/mysql/uninstall.sql', $module->sql_uninstall);
// count the file created
$this->fileCount++;
}
}
// creat the language folder
if (!JFolder::exists($module->folder_path . '/language'))
{
JFolder::create($module->folder_path . '/language');
// count the folder created
$this->folderCount++;
// also the lang tag
if (!JFolder::exists($module->folder_path . '/language/' . $this->langTag))
{
JFolder::create($module->folder_path . '/language/' . $this->langTag);
// count the folder created
$this->folderCount++;
}
}
// check if this lib has files
if (isset($module->files) && ComponentbuilderHelper::checkArray($module->files))
{
// add to component files
foreach ($module->files as $file)
{
// set the path finder
$file['target_type'] = $module->target_type;
$file['target_id'] = $module->id;
$this->componentData->files[] = $file;
}
}
// check if this lib has folders
if (isset($module->folders) && ComponentbuilderHelper::checkArray($module->folders))
{
// add to component folders
foreach ($module->folders as $folder)
{
// set the path finder
$folder['target_type'] = $module->target_type;
$folder['target_id'] = $module->id;
$this->componentData->folders[] = $folder;
}
}
// check if this module has urls
if (isset($module->urls) && ComponentbuilderHelper::checkArray($module->urls))
{
// add to component urls
foreach ($module->urls as $n => &$url)
{
// should we add the local folder
if (isset($url['type']) && $url['type'] > 1 && isset($url['url'])
&& ComponentbuilderHelper::checkString($url['url']))
{
// set file name
$fileName = basename($url['url']);
// get the file contents
$data = ComponentbuilderHelper::getFileContents($url['url']);
// build sub path
if (strpos($fileName, '.js') !== false)
{
$path = '/js';
}
elseif (strpos($fileName, '.css') !== false)
{
$path = '/css';
}
else
{
$path = '';
}
// create sub media path if not set
if (!JFolder::exists($module->folder_path .$path))
{
JFolder::create($module->folder_path . $path);
// count the folder created
$this->folderCount++;
$this->indexHTML($module->folder_name . $path, $this->compilerPath);
}
// set the path to module file
$url['path'] = $module->folder_path . $path . '/' . $fileName; // we need this for later
// write data to path
$this->writeFile($url['path'], $data);
// count the file created
$this->fileCount++;
}
}
}
}
}
}
}
/**
* Build the Plugins files, folders, url's and config
*
@ -531,10 +911,34 @@ class Structure extends Get
// biuld basic XML
$xml = '<?xml version="1.0" encoding="utf-8"?>';
$xml .= PHP_EOL . '<!--' . $this->setLine(__LINE__) . ' default paths of ' . $file . ' form points to ' . $this->componentCodeName . ' -->';
$xml .= PHP_EOL . '<form';
$xml .= PHP_EOL . $this->_t(1) . 'addrulepath="/administrator/components/com_' . $this->componentCodeName . '/models/rules"';
$xml .= PHP_EOL . $this->_t(1) . 'addfieldpath="/administrator/components/com_' . $this->componentCodeName . '/models/fields"';
$xml .= PHP_EOL . '>';
// search if we must add the component path
$add_component_path = false;
foreach ($fields as $field_name => $fieldsets)
{
if (!$add_component_path)
{
foreach ($fieldsets as $fieldset => $field)
{
if (!$add_component_path && isset($plugin->fieldsets_paths[$file . $field_name . $fieldset]) && $plugin->fieldsets_paths[$file . $field_name . $fieldset] == 1)
{
$add_component_path = true;
}
}
}
}
// only add if part of the component field types path is required
if ($add_component_path)
{
$xml .= PHP_EOL . '<form';
$xml .= PHP_EOL . $this->_t(1) . 'addrulepath="/administrator/components/com_' . $this->componentCodeName . '/models/rules"';
$xml .= PHP_EOL . $this->_t(1) . 'addfieldpath="/administrator/components/com_' . $this->componentCodeName . '/models/fields"';
$xml .= PHP_EOL . '>';
}
else
{
$xml .= PHP_EOL . '<form>';
}
// add the fields
foreach ($fields as $field_name => $fieldsets)
{
// check if we have an double fields naming set

View File

@ -18,6 +18,20 @@ defined('_JEXEC') or die('Restricted access');
class Interpretation extends Fields
{
/**
* The global config Field Sets
*
* @var array
*/
public $configFieldSets = array();
/**
* The global config Field Sets Custom Fields
*
* @var array
*/
public $configFieldSetsCustomField = array();
/**
* The contributors
*
@ -2572,16 +2586,25 @@ class Interpretation extends Fields
{
$methods = '';
// then set the needed custom methods
if (ComponentbuilderHelper::checkArray($main_view['settings']->custom_get))
if (ComponentbuilderHelper::checkArray($main_view) && isset($main_view['settings']) && ComponentbuilderHelper::checkObject($main_view['settings']) && isset($main_view['settings']->custom_get))
{
$_dynamic_get = $main_view['settings']->custom_get;
}
elseif (ComponentbuilderHelper::checkObject($main_view) && isset($main_view->custom_get))
{
$_dynamic_get = $main_view->custom_get;
}
// check if we have an array
if (isset($_dynamic_get) && ComponentbuilderHelper::checkArray($_dynamic_get))
{
// start dynamic build
foreach ($main_view['settings']->custom_get as $view)
foreach ($_dynamic_get as $view)
{
// fix alias to use in code
$view->code = ComponentbuilderHelper::safeString($code);
$view->Code = ComponentbuilderHelper::safeString($view->code, 'F');
$view->CODE = ComponentbuilderHelper::safeString($view->code, 'U');
$main = '';
$main = '';
if ($view->gettype == 3)
{
// SITE_GET_ITEM <<<DYNAMIC>>>
@ -2650,7 +2673,10 @@ class Interpretation extends Fields
}
}
// load uikit get method
$methods .= $this->setUikitGetMethod();
if (ComponentbuilderHelper::checkArray($main_view) && isset($main_view['settings']))
{
$methods .= $this->setUikitGetMethod();
}
return $methods;
}
@ -3987,26 +4013,40 @@ class Interpretation extends Fields
public function setLibrariesLoader($view)
{
// check call sig
if (isset($view['settings']) && isset($view['settings']->code))
{
$code = $view['settings']->code;
$view_active = true;
}
elseif (isset($view->code_name))
{
$code = $view->code_name;
$view_active = false;
}
// reset bucket
$setter = '';
// allways load these in
$setter .= PHP_EOL . PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " always make sure jquery is loaded.";
$setter .= PHP_EOL . $this->_t(2) . "JHtml::_('jquery.framework');";
$setter .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Load the header checker class.";
if ($this->target === 'site')
if ($view_active)
{
$setter .= PHP_EOL . $this->_t(2) . "require_once( JPATH_COMPONENT_SITE.'/helpers/headercheck.php' );";
$setter .= PHP_EOL . PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " always make sure jquery is loaded.";
$setter .= PHP_EOL . $this->_t(2) . "JHtml::_('jquery.framework');";
$setter .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Load the header checker class.";
if ($this->target === 'site')
{
$setter .= PHP_EOL . $this->_t(2) . "require_once( JPATH_COMPONENT_SITE.'/helpers/headercheck.php' );";
}
else
{
$setter .= PHP_EOL . $this->_t(2) . "require_once( JPATH_COMPONENT_ADMINISTRATOR.'/helpers/headercheck.php' );";
}
$setter .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Initialize the header checker.";
$setter .= PHP_EOL . $this->_t(2) . "\$HeaderCheck = new " . $this->componentCodeName . "HeaderCheck;";
}
else
{
$setter .= PHP_EOL . $this->_t(2) . "require_once( JPATH_COMPONENT_ADMINISTRATOR.'/helpers/headercheck.php' );";
}
$setter .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Initialize the header checker.";
$setter .= PHP_EOL . $this->_t(2) . "\$HeaderCheck = new " . $this->componentCodeName . "HeaderCheck;";
// check if this view should get libraries
if (isset($this->libManager[$this->target][$view['settings']->code]) && ComponentbuilderHelper::checkArray($this->libManager[$this->target][$view['settings']->code]))
if (isset($this->libManager[$this->target][$code]) && ComponentbuilderHelper::checkArray($this->libManager[$this->target][$code]))
{
foreach ($this->libManager[$this->target][$view['settings']->code] as $id => $true)
foreach ($this->libManager[$this->target][$code] as $id => $true)
{
if (isset($this->libraries[$id]) && ComponentbuilderHelper::checkObject($this->libraries[$id]) && isset($this->libraries[$id]->document) && ComponentbuilderHelper::checkString($this->libraries[$id]->document))
{
@ -4019,6 +4059,11 @@ class Interpretation extends Fields
}
}
}
// convert back to $document if module call (oops :)
if (!$view_active)
{
return str_replace('$this->document->', '$document->', $setter);
}
return $setter;
}
@ -16627,6 +16672,268 @@ function vdm_dkim() {
return $matches[1];
}
public function getModCode(&$module)
{
// get component helper string
$Helper = $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh] . 'Helper';
$component = $this->fileContentStatic[$this->hhh . 'component' . $this->hhh];
$_helper = '';
// get libraries code
$libraries = array($this->bbb . 'MOD_LIBRARIES' . $this->ddd => $this->getModLibCode($module));
$code = $this->setPlaceholders($module->mod_code, $libraries);
// check if component helper class should be added
if (strpos($code, $Helper . '::') !== false && strpos($code, "/components/com_" . $component . "/helpers/" . $component . ".php") === false)
{
$_helper = '//' . $this->setLine(__LINE__) . ' Include the component helper functions only once';
$_helper .= PHP_EOL . "JLoader::register('". $Helper . "', JPATH_ADMINISTRATOR . '/components/com_" . $component . "/helpers/" . $component . ".php');";
}
return $_helper . PHP_EOL . $code . PHP_EOL;
}
public function getModDefault(&$module)
{
return PHP_EOL . $module->default_header . PHP_EOL . '?>' . PHP_EOL . $module->default . PHP_EOL;
}
public function getModHelperCode(&$module)
{
return
$module->class_helper_header . PHP_EOL .
$module->class_helper_type . $module->class_helper_name . PHP_EOL . '{' . PHP_EOL .
$module->class_helper_code . PHP_EOL .
"}" . PHP_EOL;
}
public function getModLibCode(&$module)
{
$setter = '';
if (isset($this->libManager[$module->key][$module->code_name]) && ComponentbuilderHelper::checkArray($this->libManager[$module->key][$module->code_name]))
{
$setter .= '//' . $this->setLine(__LINE__) . 'get the document object';
$setter .= PHP_EOL . '$document = JFactory::getDocument();';
foreach ($this->libManager[$module->key][$module->code_name] as $id => $true)
{
if (isset($this->libraries[$id]) && ComponentbuilderHelper::checkObject($this->libraries[$id]) && isset($this->libraries[$id]->document) && ComponentbuilderHelper::checkString($this->libraries[$id]->document))
{
$setter .= PHP_EOL . $this->libraries[$id]->document;
}
elseif (isset($this->libraries[$id]) && ComponentbuilderHelper::checkObject($this->libraries[$id]) && isset($this->libraries[$id]->how))
{
$setter .= $this->setLibraryDocument($id);
}
}
}
// check if we have string
if (ComponentbuilderHelper::checkString($setter))
{
return $this->setPlaceholders(
str_replace('$this->document->', '$document->',
implode(PHP_EOL,
array_map(trim,
(array) explode(PHP_EOL, $setter)
)
)
),
$this->placeholders);
}
return '';
}
public function getModuleMainXML(&$module)
{
// set the custom table key
$dbkey = 'yyy';
// build the xml
$xml = '';
// search if we must add the component path
$add_component_path = false;
// build the config fields
$config_fields = array();
if (isset($module->config_fields) && ComponentbuilderHelper::checkArray($module->config_fields))
{
foreach ($module->config_fields as $field_name => $fieldsets)
{
foreach ($fieldsets as $fieldset => $fields)
{
// get the field set
$xmlFields = $this->getExtensionFieldsetXML($module, $fields, $dbkey);
// make sure the xml is set and a string
if (isset($xmlFields) && ComponentbuilderHelper::checkString($xmlFields))
{
$config_fields[$field_name . $fieldset] = $xmlFields;
}
$dbkey++;
// check if the fieldset path requiers component paths
if (!$add_component_path && isset($module->fieldsets_paths[$field_name . $fieldset]) && $module->fieldsets_paths[$field_name . $fieldset] == 1)
{
$add_component_path = true;
}
}
}
}
// switch to add the xml
$addLang = false;
// now build the language files
if (isset($this->langContent[$module->key]))
{
$lang = array_map(function ($langstring, $placeholder)
{
return $placeholder . '="' . $langstring . '"';
}, $this->langContent[$module->key], array_keys($this->langContent[$module->key]));
// add to language file
$this->writeFile($module->folder_path . '/language/' . $this->langTag . '/' . $this->langTag . '.' . $module->file_name . '.ini', implode(PHP_EOL, $lang));
$this->writeFile($module->folder_path . '/language/' . $this->langTag . '/' . $this->langTag . '.' . $module->file_name . '.sys.ini', implode(PHP_EOL, $lang));
// set the line counter
$this->lineCount = $this->lineCount + count((array) $lang);
unset($lang);
// trigger the xml
$addLang = true;
}
// get all files and folders in module folder
$files = JFolder::files($module->folder_path);
$folders = JFolder::folders($module->folder_path);
// the files/folders to ignore
$ignore = array('sql', 'language', 'script.php', $module->file_name . '.xml', $module->file_name . '.php');
// should the scriptfile be added
if ($module->add_install_script)
{
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Scripts to run on installation -->';
$xml .= PHP_EOL . $this->_t(1) . '<scriptfile>script.php</scriptfile>';
}
// should the sql install be added
if ($module->add_sql)
{
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Runs on install; New in Joomla 1.5 -->';
$xml .= PHP_EOL . $this->_t(1) . '<install>';
$xml .= PHP_EOL . $this->_t(2) . '<sql>';
$xml .= PHP_EOL . $this->_t(3) . '<file driver="mysql" charset="utf8">sql/mysql/install.sql</file>';
$xml .= PHP_EOL . $this->_t(2) . '<sql>';
$xml .= PHP_EOL . $this->_t(1) . '</install>';
}
// should the sql uninstall be added
if ($module->add_sql_uninstall)
{
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Runs on uninstall; New in Joomla 1.5 -->';
$xml .= PHP_EOL . $this->_t(1) . '<uninstall>';
$xml .= PHP_EOL . $this->_t(2) . '<sql>';
$xml .= PHP_EOL . $this->_t(3) . '<file driver="mysql" charset="utf8">sql/mysql/uninstall.sql</file>';
$xml .= PHP_EOL . $this->_t(2) . '<sql>';
$xml .= PHP_EOL . $this->_t(1) . '</uninstall>';
}
// should the language xml be added
if ($addLang)
{
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Language files -->';
$xml .= PHP_EOL . $this->_t(1) . '<languages folder="language">';
$xml .= PHP_EOL . $this->_t(2) . '<language tag="en-GB">' . $this->langTag . '/' . $this->langTag . '.' . $module->file_name . '.ini</language>';
$xml .= PHP_EOL . $this->_t(2) . '<language tag="en-GB">' . $this->langTag . '/' . $this->langTag . '.' . $module->file_name . '.sys.ini</language>';
$xml .= PHP_EOL . $this->_t(1) . '</languages>';
}
// add the module files
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Model files -->';
$xml .= PHP_EOL . $this->_t(1) . '<files>';
$xml .= PHP_EOL . $this->_t(2) . '<filename module="' . $module->file_name . '">' . $module->file_name . '.php</filename>';
// add other files found
if (ComponentbuilderHelper::checkArray($files))
{
foreach ($files as $file)
{
// only add what is not ignored
if (!in_array($file, $ignore))
{
$xml .= PHP_EOL . $this->_t(2) . '<filename>' . $file . '</filename>';
}
}
}
// add language folder
if ($addLang)
{
$xml .= PHP_EOL . $this->_t(2) . '<folder>language</folder>';
}
// add sql folder
if ($module->add_sql || $module->add_sql_uninstall)
{
$xml .= PHP_EOL . $this->_t(2) . '<folder>sql</folder>';
}
// add other files found
if (ComponentbuilderHelper::checkArray($folders))
{
foreach ($folders as $folder)
{
// only add what is not ignored
if (!in_array($folder, $ignore))
{
$xml .= PHP_EOL . $this->_t(2) . '<folder>' . $folder . '</folder>';
}
}
}
$xml .= PHP_EOL . $this->_t(1) . '</files>';
// now add the Config Params if needed
if (ComponentbuilderHelper::checkArray($config_fields))
{
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Config parameter -->';
// only add if part of the component field types path is required
if ($add_component_path)
{
// add path to module rules and custom fields
$xml .= PHP_EOL . $this->_t(1) . '<config';
$xml .= PHP_EOL . $this->_t(2) . 'addrulepath="/administrator/components/com_' . $this->componentCodeName . '/modules/rules"';
$xml .= PHP_EOL . $this->_t(2) . 'addfieldpath="/administrator/components/com_' . $this->componentCodeName . '/modules/fields"';
$xml .= PHP_EOL . $this->_t(1) . '>';
}
else
{
$xml .= PHP_EOL . $this->_t(1) . '<config>';
}
// add the fields
foreach ($module->config_fields as $field_name => $fieldsets)
{
$xml .= PHP_EOL . $this->_t(1) . '<fields name="' . $field_name . '">';
foreach ($fieldsets as $fieldset => $fields)
{
// default to the field set name
$label = $fieldset;
if (isset($module->fieldsets_label[$field_name.$fieldset]))
{
$label = $module->fieldsets_label[$field_name.$fieldset];
}
// add path to module rules and custom fields
if (isset($module->fieldsets_paths[$field_name . $fieldset]) && $module->fieldsets_paths[$field_name . $fieldset] == 2)
{
$xml .= PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' default paths of ' . $fieldset . ' fieldset points to the module -->';
$xml .= PHP_EOL . $this->_t(1) . '<fieldset name="' . $fieldset . '" label="' . $label . '"';
$xml .= PHP_EOL . $this->_t(2) . 'addrulepath="/modules/' . $module->file_name . '/rules"';
$xml .= PHP_EOL . $this->_t(2) . 'addfieldpath="/modules/' . $module->file_name . '/fields"';
$xml .= PHP_EOL . $this->_t(1) . '>';
}
else
{
$xml .= PHP_EOL . $this->_t(1) . '<fieldset name="' . $fieldset . '" label="' . $label . '">';
}
// load the fields
if (isset($config_fields[$field_name.$fieldset]))
{
$xml .= $config_fields[$field_name.$fieldset];
unset($config_fields[$field_name.$fieldset]);
}
$xml .= PHP_EOL . $this->_t(1) . '</fieldset>';
}
$xml .= PHP_EOL . $this->_t(1) . '</fields>';
}
$xml .= PHP_EOL . $this->_t(1) . '</config>';
}
// set update server if found
if ($module->add_update_server)
{
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Update servers -->';
$xml .= PHP_EOL . $this->_t(1) . '<updateservers>';
$xml .= PHP_EOL . $this->_t(2) . '<server type="extension" priority="1" name="' . $module->official_name . '">' . $module->update_server_url . '</server>';
$xml .= PHP_EOL . $this->_t(1) . '</updateservers>';
}
return $xml;
}
public function getPluginMainClass(&$plugin)
{
return
@ -16647,6 +16954,8 @@ function vdm_dkim() {
$dbkey = 'yy';
// build the xml
$xml = '';
// search if we must add the component path
$add_component_path = false;
// build the config fields
$config_fields = array();
if (isset($plugin->config_fields) && ComponentbuilderHelper::checkArray($plugin->config_fields))
@ -16656,13 +16965,18 @@ function vdm_dkim() {
foreach ($fieldsets as $fieldset => $fields)
{
// get the field set
$xmlFields = $this->getPluginFieldsetXML($plugin, $fields, $dbkey);
$xmlFields = $this->getExtensionFieldsetXML($plugin, $fields, $dbkey);
// make sure the xml is set and a string
if (isset($xmlFields) && ComponentbuilderHelper::checkString($xmlFields))
{
$config_fields[$field_name.$fieldset] = $xmlFields;
$config_fields[$field_name . $fieldset] = $xmlFields;
}
$dbkey++;
// check if the fieldset path requiers component paths
if (!$add_component_path && isset($plugin->fieldsets_paths[$field_name . $fieldset]) && $plugin->fieldsets_paths[$field_name . $fieldset] == 1)
{
$add_component_path = true;
}
}
}
}
@ -16767,12 +17081,20 @@ function vdm_dkim() {
if (ComponentbuilderHelper::checkArray($config_fields))
{
$xml .= PHP_EOL . PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' Config parameter -->';
// add path to plugin rules and custom fields
$xml .= PHP_EOL . $this->_t(1) . '<config';
$xml .= PHP_EOL . $this->_t(2) . 'addrulepath="/administrator/components/com_' . $this->componentCodeName . '/models/rules"';
$xml .= PHP_EOL . $this->_t(2) . 'addfieldpath="/administrator/components/com_' . $this->componentCodeName . '/models/fields"';
$xml .= PHP_EOL . $this->_t(1) . '>';
// only add if part of the component field types path is required
if ($add_component_path)
{
// add path to plugin rules and custom fields
$xml .= PHP_EOL . $this->_t(1) . '<config';
$xml .= PHP_EOL . $this->_t(2) . 'addrulepath="/administrator/components/com_' . $this->componentCodeName . '/models/rules"';
$xml .= PHP_EOL . $this->_t(2) . 'addfieldpath="/administrator/components/com_' . $this->componentCodeName . '/models/fields"';
$xml .= PHP_EOL . $this->_t(1) . '>';
}
else
{
$xml .= PHP_EOL . $this->_t(1) . '<config>';
}
// add the fields
foreach ($plugin->config_fields as $field_name => $fieldsets)
{
$xml .= PHP_EOL . $this->_t(1) . '<fields name="' . $field_name . '">';
@ -16785,7 +17107,7 @@ function vdm_dkim() {
$label = $plugin->fieldsets_label[$field_name.$fieldset];
}
// add path to plugin rules and custom fields
if (isset($plugin->fieldsets_paths[$field_name.$fieldset]) && $plugin->fieldsets_paths[$field_name.$fieldset] == 2)
if (isset($plugin->fieldsets_paths[$field_name . $fieldset]) && $plugin->fieldsets_paths[$field_name . $fieldset] == 2)
{
$xml .= PHP_EOL . $this->_t(1) . '<!--' . $this->setLine(__LINE__) . ' default paths of ' . $fieldset . ' fieldset points to the plugin -->';
$xml .= PHP_EOL . $this->_t(1) . '<fieldset name="' . $fieldset . '" label="' . $label . '"';
@ -16821,7 +17143,7 @@ function vdm_dkim() {
return $xml;
}
public function getPluginFieldsetXML(&$plugin, &$fields, $dbkey = 'zz')
public function getExtensionFieldsetXML(&$extension, &$fields, $dbkey = 'zz')
{
// set some defaults
$view = '';
@ -16837,12 +17159,12 @@ function vdm_dkim() {
if ($this->fieldBuilderType == 1)
{
// string manipulation
$xmlField = $this->setDynamicField($field, $view, $viewType, $plugin->lang_prefix, $plugin->key, $plugin->key, $this->globalPlaceholders, $dbkey, false);
$xmlField = $this->setDynamicField($field, $view, $viewType, $extension->lang_prefix, $extension->key, $extension->key, $this->globalPlaceholders, $dbkey, false);
}
else
{
// simpleXMLElement class
$newxmlField = $this->setDynamicField($field, $view, $viewType, $plugin->lang_prefix, $plugin->key, $plugin->key, $this->globalPlaceholders, $dbkey, false);
$newxmlField = $this->setDynamicField($field, $view, $viewType, $extension->lang_prefix, $extension->key, $extension->key, $this->globalPlaceholders, $dbkey, false);
if (isset($newxmlField->fieldXML))
{
$xmlField = dom_import_simplexml($newxmlField->fieldXML);
@ -16859,24 +17181,24 @@ function vdm_dkim() {
return $fieldset;
}
public function getPluginInstallClass(&$plugin)
public function getExtensionInstallClass(&$extension)
{
// yes we are adding it
$script = PHP_EOL . '/**';
$script .= PHP_EOL . ' * ' . $plugin->official_name . ' script file.';
$script .= PHP_EOL . ' * ' . $extension->official_name . ' script file.';
$script .= PHP_EOL . ' *';
$script .= PHP_EOL . ' * @package ' . $plugin->class_name;
$script .= PHP_EOL . ' * @package ' . $extension->class_name;
$script .= PHP_EOL . ' */';
$script .= PHP_EOL . 'class ' . $plugin->installer_class_name;
$script .= PHP_EOL . 'class ' . $extension->installer_class_name;
$script .= PHP_EOL . '{';
// set constructor
if (isset($plugin->add_php_script_construct)
&& $plugin->add_php_script_construct == 1
&& ComponentbuilderHelper::checkString($plugin->php_script_construct))
if (isset($extension->add_php_script_construct)
&& $extension->add_php_script_construct == 1
&& ComponentbuilderHelper::checkString($extension->php_script_construct))
{
$script .= $this->setInstallMethodScript('construct', $plugin->php_script_construct);
$script .= $this->setInstallMethodScript('construct', $extension->php_script_construct);
}
// add PHP in plugin install
// add PHP in extension install
$addScriptMethods = array('php_preflight', 'php_postflight', 'php_method');
$addScriptTypes = array('install', 'update', 'uninstall', 'discover_install');
// set some buckets for sorting
@ -16892,18 +17214,18 @@ function vdm_dkim() {
{
foreach ($addScriptTypes as $scriptType)
{
if (isset($plugin->{'add_' . $scriptMethod . '_' . $scriptType})
&& $plugin->{'add_' . $scriptMethod . '_' . $scriptType} == 1
&& ComponentbuilderHelper::checkString($plugin->{$scriptMethod . '_' . $scriptType}))
if (isset($extension->{'add_' . $scriptMethod . '_' . $scriptType})
&& $extension->{'add_' . $scriptMethod . '_' . $scriptType} == 1
&& ComponentbuilderHelper::checkString($extension->{$scriptMethod . '_' . $scriptType}))
{
// add to the main methods
if ('php_method' === $scriptMethod)
{
${'function_' . $scriptType}[] = $plugin->{$scriptMethod . '_' . $scriptType};
${'function_' . $scriptType}[] = $extension->{$scriptMethod . '_' . $scriptType};
}
else
{
${'function_' . $scriptMethod}[$scriptType][] = $plugin->{$scriptMethod . '_' . $scriptType};
${'function_' . $scriptMethod}[$scriptType][] = $extension->{$scriptMethod . '_' . $scriptType};
${'has_' . $scriptMethod} = true;
}
}

View File

@ -1029,17 +1029,65 @@ class Infusion extends Interpretation
$this->fileContentStatic[$this->hhh . 'README' . $this->hhh] = $this->componentData->readme;
}
// infuze plugin data if set
// tweak system to set stuff to the module domain
$_backup_target = $this->target;
$_backup_lang = $this->lang;
$_backup_langPrefix = $this->langPrefix;
// infuse module data if set
if (ComponentbuilderHelper::checkArray($this->joomlaModules))
{
foreach ($this->joomlaModules as $module)
{
if (ComponentbuilderHelper::checkObject($module))
{
$this->target = $module->key;
$this->lang = $module->key;
$this->langPrefix = $module->lang_prefix;
// MODCODE
$this->fileContentDynamic[$module->key][$this->hhh . 'MODCODE' . $this->hhh] = $this->getModCode($module);
// DYNAMICGET
$this->fileContentDynamic[$module->key][$this->hhh . 'DYNAMICGETS' . $this->hhh] = $this->setCustomViewCustomMethods($module, $module->key);
// HELPERCODE
if ($module->add_class_helper >= 1)
{
$this->fileContentDynamic[$module->key][$this->hhh . 'HELPERCODE' . $this->hhh] = $this->getModHelperCode($module);
}
// MODDEFAULT
$this->fileContentDynamic[$module->key][$this->hhh . 'MODDEFAULT' . $this->hhh] = $this->getModDefault($module);
// only add install script if needed
if ($module->add_install_script)
{
// INSTALLCLASS
$this->fileContentDynamic[$module->key][$this->hhh . 'INSTALLCLASS' . $this->hhh] = $this->getExtensionInstallClass($module);
}
// FIELDSET
if (isset($module->form_files) && ComponentbuilderHelper::checkArray($module->form_files))
{
foreach($module->form_files as $file => $files)
{
foreach ($files as $field_name => $fieldsets)
{
foreach ($fieldsets as $fieldset => $fields)
{
// FIELDSET_ . $file.$field_name.$fieldset
$this->fileContentDynamic[$module->key][$this->hhh . 'FIELDSET_' . $file.$field_name.$fieldset . $this->hhh] =
$this->getExtensionFieldsetXML($module, $fields);
}
}
}
}
// MAINXML
$this->fileContentDynamic[$module->key][$this->hhh . 'MAINXML' . $this->hhh] = $this->getModuleMainXML($module);
}
}
}
// infuse plugin data if set
if (ComponentbuilderHelper::checkArray($this->joomlaPlugins))
{
foreach ($this->joomlaPlugins as $plugin)
{
if (ComponentbuilderHelper::checkObject($plugin))
{
// tweak system to set stuff to the plugin domain
$_backup_target = $this->target;
$_backup_lang = $this->lang;
$_backup_langPrefix = $this->langPrefix;
$this->target = $plugin->key;
$this->lang = $plugin->key;
$this->langPrefix = $plugin->lang_prefix;
@ -1049,7 +1097,7 @@ class Infusion extends Interpretation
if ($plugin->add_install_script)
{
// INSTALLCLASS
$this->fileContentDynamic[$plugin->key][$this->hhh . 'INSTALLCLASS' . $this->hhh] = $this->getPluginInstallClass($plugin);
$this->fileContentDynamic[$plugin->key][$this->hhh . 'INSTALLCLASS' . $this->hhh] = $this->getExtensionInstallClass($plugin);
}
// FIELDSET
if (isset($plugin->form_files) && ComponentbuilderHelper::checkArray($plugin->form_files))
@ -1061,21 +1109,21 @@ class Infusion extends Interpretation
foreach ($fieldsets as $fieldset => $fields)
{
// FIELDSET_ . $file.$field_name.$fieldset
$this->fileContentDynamic[$plugin->key][$this->hhh . 'FIELDSET_' . $file.$field_name.$fieldset . $this->hhh] =
$this->getPluginFieldsetXML($plugin, $fields);
$this->fileContentDynamic[$plugin->key][$this->hhh . 'FIELDSET_' . $file.$field_name.$fieldset . $this->hhh] =
$this->getExtensionFieldsetXML($plugin, $fields);
}
}
}
}
// MAINXML
$this->fileContentDynamic[$plugin->key][$this->hhh . 'MAINXML' . $this->hhh] = $this->getPluginMainXML($plugin);
// rest globals
$this->target = $_backup_target;
$this->lang = $_backup_lang;
$this->langPrefix = $_backup_langPrefix;
}
}
}
// rest globals
$this->target = $_backup_target;
$this->lang = $_backup_lang;
$this->langPrefix = $_backup_langPrefix;
// Trigger Event: jcb_ce_onAfterBuildFilesContent
$this->triggerEvent('jcb_ce_onAfterBuildFilesContent', array(&$this->componentContext, &$this->componentData, &$this->fileContentStatic, &$this->fileContentDynamic, &$this->placeholders, &$this->hhh));

View File

@ -37,6 +37,7 @@ abstract class ComponentbuilderHelper
self::loadSession();
}
/**
* Locked Libraries (we can not have these change)
**/
@ -4420,6 +4421,7 @@ abstract class ComponentbuilderHelper
// fall back on array sum
return array_sum($array);
}
/**
* the locker
@ -5642,6 +5644,10 @@ abstract class ComponentbuilderHelper
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_JOOMLA_COMPONENTS'), 'index.php?option=com_componentbuilder&view=joomla_components', $submenu === 'joomla_components');
}
if ($user->authorise('joomla_module.access', 'com_componentbuilder') && $user->authorise('joomla_module.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_JOOMLA_MODULES'), 'index.php?option=com_componentbuilder&view=joomla_modules', $submenu === 'joomla_modules');
}
if ($user->authorise('joomla_plugin.access', 'com_componentbuilder') && $user->authorise('joomla_plugin.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_JOOMLA_PLUGINS'), 'index.php?option=com_componentbuilder&view=joomla_plugins', $submenu === 'joomla_plugins');

View File

@ -1981,6 +1981,46 @@ COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_UNFEATURED="%s Components
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_UNFEATURED_1="%s Component Files & Folders unfeatured."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_UNPUBLISHED="%s Components Files & Folders unpublished."
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_N_ITEMS_UNPUBLISHED_1="%s Component Files & Folders unpublished."
COM_COMPONENTBUILDER_COMPONENTS_MODULES="Components Modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS="Components Modules Access"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS_DESC="Allows the users in this group to access access components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_OPTIONS="Batch process the selected Components Modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_TIP="All changes will be applied to all selected Components Modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_USE="Components Modules Batch Use"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE="Components Modules Create"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE_DESC="Allows the users in this group to create create components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE="Components Modules Delete"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE_DESC="Allows the users in this group to delete delete components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT="Components Modules Edit"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY="Components Modules Edit Created By"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE="Components Modules Edit Created Date"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_DESC="Allows the users in this group to edit the component modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN="Components Modules Edit Own"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN_DESC="Allows the users in this group to edit edit own components modules created by them"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE="Components Modules Edit State"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE_DESC="Allows the users in this group to update the state of the component modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION="Components Modules Edit Version"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_ARCHIVED="%s Components Modules archived."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_ARCHIVED_1="%s Component Modules archived."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_CHECKED_IN_0="No Component Modules successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_CHECKED_IN_1="%d Component Modules successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_CHECKED_IN_MORE="%d Components Modules successfully checked in."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_DELETED="%s Components Modules deleted."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_DELETED_1="%s Component Modules deleted."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_FEATURED="%s Components Modules featured."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_FEATURED_1="%s Component Modules featured."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_PUBLISHED="%s Components Modules published."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_PUBLISHED_1="%s Component Modules published."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_TRASHED="%s Components Modules trashed."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_TRASHED_1="%s Component Modules trashed."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_UNFEATURED="%s Components Modules unfeatured."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_UNFEATURED_1="%s Component Modules unfeatured."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_UNPUBLISHED="%s Components Modules unpublished."
COM_COMPONENTBUILDER_COMPONENTS_MODULES_N_ITEMS_UNPUBLISHED_1="%s Component Modules unpublished."
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS="Components mysql Tweaks"
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_ACCESS="Components Mysql Tweaks Access"
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_ACCESS_DESC="Allows the users in this group to access access components mysql tweaks"
@ -2946,6 +2986,42 @@ COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_STATUS="Status"
COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_VERSION_DESC="A count of the number of times this Component Files & Folders has been revised."
COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_COMPONENT_GLOBAL_SETTINGS="Component Global Settings"
COM_COMPONENTBUILDER_COMPONENT_MODULES="Component Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES="Addjoomla Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES_DESCRIPTION="Setup the Joomla modules for this component."
COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES_LABEL="Joomla Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_COMPILE_AMP_EXPORT="Compile &amp; Export"
COM_COMPONENTBUILDER_COMPONENT_MODULES_COMPILE_ONLY="Compile (only)"
COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_BY_DESC="The user that created this Component Modules."
COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_DATE_DESC="The date this Component Modules was created."
COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_COMPONENT_MODULES_EDIT="Editing the Component Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_ERROR_UNIQUE_ALIAS="Another Component Modules has the same alias."
COM_COMPONENTBUILDER_COMPONENT_MODULES_EXPORT_ONLY="Export (only)"
COM_COMPONENTBUILDER_COMPONENT_MODULES_ID="Id"
COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT="Joomla Component"
COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_DESCRIPTION="Select a Joomla Component"
COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_LABEL="Component"
COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_BY_DESC="The last user that modified this Component Modules."
COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_DATE_DESC="The date this Component Modules was modified."
COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_COMPONENT_MODULES_MODULE="Module"
COM_COMPONENTBUILDER_COMPONENT_MODULES_MODULES="Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_MODULE_LABEL="Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_NEW="A New Component Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_NOTE_ON_JOOMLA_MODULES_DESCRIPTION="Do not add the same Joomla modules twice it will not work."
COM_COMPONENTBUILDER_COMPONENT_MODULES_NOTE_ON_JOOMLA_MODULES_LABEL="Setting Joomla Modules"
COM_COMPONENTBUILDER_COMPONENT_MODULES_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_COMPONENT_MODULES_PERMISSION="Permissions"
COM_COMPONENTBUILDER_COMPONENT_MODULES_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_COMPONENT_MODULES_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Component Modules to customise the alias."
COM_COMPONENTBUILDER_COMPONENT_MODULES_STATUS="Status"
COM_COMPONENTBUILDER_COMPONENT_MODULES_TARGET_DESCRIPTION="Association"
COM_COMPONENTBUILDER_COMPONENT_MODULES_TARGET_LABEL="Target"
COM_COMPONENTBUILDER_COMPONENT_MODULES_VERSION_DESC="A count of the number of times this Component Modules has been revised."
COM_COMPONENTBUILDER_COMPONENT_MODULES_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS="Component mysql Tweaks"
COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_ADD_SQL_DESCRIPTION="if set in view"
COM_COMPONENTBUILDER_COMPONENT_MYSQL_TWEAKS_ADD_SQL_LABEL="Add MySQL"
@ -3536,6 +3612,7 @@ COM_COMPONENTBUILDER_COPYRIGHT_S="Copyright: %s"
COM_COMPONENTBUILDER_COULD_NOT_CLEAR_THE_TMP_FOLDER="Could not clear the tmp folder!"
COM_COMPONENTBUILDER_COULD_NOT_INSTALL_COMPONENT="Could not install component!"
COM_COMPONENTBUILDER_COULD_NOT_INSTALL_EXTENTIONS="Could not install extentions!"
COM_COMPONENTBUILDER_COULD_NOT_INSTALL_MODULE="Could not install module!"
COM_COMPONENTBUILDER_COULD_NOT_INSTALL_PLUGIN="Could not install plugin!"
COM_COMPONENTBUILDER_CREATE="Create"
COM_COMPONENTBUILDER_CREATE_A_SNIPPET="create a snippet"
@ -3709,7 +3786,7 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DASHBOARD="Dashboard"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DATABASE="Database"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DEFAULT="Default"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DEFAULT_DESCRIPTION="Add the code here."
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DEFAULT_LABEL="Default View"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DEFAULT_LABEL="Default Tmpl"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DELETE="Delete"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DESCRIPTION="Description"
COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_DESCRIPTION_DESCRIPTION="Enter some description"
@ -4200,10 +4277,11 @@ COM_COMPONENTBUILDER_CUSTOM_CODE_NOTE_PLACEHOLDERS_EXPLAINED_DESCRIPTION="<div c
<div id='usedin-n' style='display:none;'><h2>Libraries</h2><div id='area-n'></div></div>
<div id='usedin-o' style='display:none;'><h2>Custom Code</h2><div id='area-o'></div></div>
<div id='usedin-p' style='display:none;'><h2>Validation Rule</h2><div id='area-p'></div></div>
<div id='usedin-q' style='display:none;'><h2>Joomla Plugin</h2><div id='area-q'></div></div>
<div id='usedin-r' style='display:none;'><h2>Class Extends</h2><div id='area-r'></div></div>
<div id='usedin-s' style='display:none;'><h2>Class Property</h2><div id='area-s'></div></div>
<div id='usedin-t' style='display:none;'><h2>Class Method</h2><div id='area-t'></div></div>
<div id='usedin-q' style='display:none;'><h2>Joomla Method</h2><div id='area-q'></div></div>
<div id='usedin-r' style='display:none;'><h2>Joomla Plugin</h2><div id='area-r'></div></div>
<div id='usedin-s' style='display:none;'><h2>Class Extends</h2><div id='area-s'></div></div>
<div id='usedin-t' style='display:none;'><h2>Class Property</h2><div id='area-t'></div></div>
<div id='usedin-u' style='display:none;'><h2>Class Method</h2><div id='area-u'></div></div>
<div id='loading-usedin' style='display: none;'><h2>Scanning Database<span class='loading-dots'>..</span></h2></div>
<div id='note-usedin-found' style='display: none;'><small>You can edit the above areas where this code is used.</small></div>
<div id='note-usedin-not' style='display: none;'><small>This code is not used in any area of the JCB custom code blocks at this time.</small></div>
@ -4266,10 +4344,10 @@ COM_COMPONENTBUILDER_DASHBOARD_GET_SNIPPETS="Get Snippets<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_HELP_DOCUMENTS="Help Documents<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_IMPORTJCBPACKAGES="Import JCB Packages<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_JOOMLA_COMPONENTS="Joomla Components<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_JOOMLA_MODULES="Joomla Modules<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_JOOMLA_PLUGINS="Joomla Plugins<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_LANGUAGE_TRANSLATIONS="Language Translations<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_LAYOUTS="Layouts<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_LAYOUT_ADD="Add&nbsp;Layout<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_LIBRARIES="Libraries<br /><br />"
COM_COMPONENTBUILDER_DASHBOARD_LIST_OF_RECORDS="Dashboard (list of records)"
COM_COMPONENTBUILDER_DASHBOARD_PLACEHOLDERS="Placeholders<br /><br />"
@ -5386,6 +5464,8 @@ COM_COMPONENTBUILDER_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
COM_COMPONENTBUILDER_JCB_COMMUNITY_SNIPPETS="JCB Community Snippets"
COM_COMPONENTBUILDER_JCB_PACKAGE_IMPORT="JCB Package Import"
COM_COMPONENTBUILDER_JCB_PACKAGE_INFO_PATH_DOES_NOT_WORK_WE_ADVICE_YOU_BNOT_TO_CONTINUEB_WITH_THE_IMPORT_OF_THE_SELECTED_PACKAGE="JCB Package info path does not work, we advice you <b>not to continue</b> with the import of the selected package!"
COM_COMPONENTBUILDER_JCB_PRO_BOARD="JCB Pro board"
COM_COMPONENTBUILDER_JCB_PRO_NOTICE_BOARD="JCB Pro Notice Board"
COM_COMPONENTBUILDER_JOIN_FIELDS="Join Fields"
COM_COMPONENTBUILDER_JOIN_TYPE="Join Type"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT="Joomla Component"
@ -5898,6 +5978,481 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_URL_MESSAGE="Error! Please add websi
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_YES="Yes"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ZIP="ZIP"
COM_COMPONENTBUILDER_JOOMLA_FIELDS="Joomla fields"
COM_COMPONENTBUILDER_JOOMLA_MODULE="Joomla Module"
COM_COMPONENTBUILDER_JOOMLA_MODULES="Joomla Modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS="Joomla Modules Access"
COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS_DESC="Allows the users in this group to access access joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_OPTIONS="Batch process the selected Joomla Modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_TIP="All changes will be applied to all selected Joomla Modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_USE="Joomla Modules Batch Use"
COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE="Joomla Modules Create"
COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE_DESC="Allows the users in this group to create create joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DASHBOARD_LIST="Joomla Modules Dashboard List"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE="Joomla Modules Delete"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE_DESC="Allows the users in this group to delete delete joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT="Joomla Modules Edit"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY="Joomla Modules Edit Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE="Joomla Modules Edit Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_DESC="Allows the users in this group to edit the joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN="Joomla Modules Edit Own"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN_DESC="Allows the users in this group to edit edit own joomla modules created by them"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE="Joomla Modules Edit State"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION="Joomla Modules Edit Version"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS="Joomla Modules Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS="Joomla Modules Files Folders Urls Access"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS_DESC="Allows the users in this group to access access joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_OPTIONS="Batch process the selected Joomla Modules Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_TIP="All changes will be applied to all selected Joomla Modules Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE="Joomla Modules Files Folders Urls Batch Use"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE="Joomla Modules Files Folders Urls Create"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE_DESC="Allows the users in this group to create create joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE="Joomla Modules Files Folders Urls Delete"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE_DESC="Allows the users in this group to delete delete joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT="Joomla Modules Files Folders Urls Edit"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY="Joomla Modules Files Folders Urls Edit Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE="Joomla Modules Files Folders Urls Edit Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_DESC="Allows the users in this group to edit the joomla module files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN="Joomla Modules Files Folders Urls Edit Own"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN_DESC="Allows the users in this group to edit edit own joomla modules files folders urls created by them"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE="Joomla Modules Files Folders Urls Edit State"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla module files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION="Joomla Modules Files Folders Urls Edit Version"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_ARCHIVED="%s Joomla Modules Files, Folders & URLs archived."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_ARCHIVED_1="%s Joomla Module Files, Folders & URLs archived."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_0="No Joomla Module Files, Folders & URLs successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_1="%d Joomla Module Files, Folders & URLs successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_CHECKED_IN_MORE="%d Joomla Modules Files, Folders & URLs successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_DELETED="%s Joomla Modules Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_DELETED_1="%s Joomla Module Files, Folders & URLs deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_FEATURED="%s Joomla Modules Files, Folders & URLs featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_FEATURED_1="%s Joomla Module Files, Folders & URLs featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_PUBLISHED="%s Joomla Modules Files, Folders & URLs published."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_PUBLISHED_1="%s Joomla Module Files, Folders & URLs published."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_TRASHED="%s Joomla Modules Files, Folders & URLs trashed."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_TRASHED_1="%s Joomla Module Files, Folders & URLs trashed."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_UNFEATURED="%s Joomla Modules Files, Folders & URLs unfeatured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_UNFEATURED_1="%s Joomla Module Files, Folders & URLs unfeatured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_UNPUBLISHED="%s Joomla Modules Files, Folders & URLs unpublished."
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_N_ITEMS_UNPUBLISHED_1="%s Joomla Module Files, Folders & URLs unpublished."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_ARCHIVED="%s Joomla Modules archived."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_ARCHIVED_1="%s Joomla Module archived."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_CHECKED_IN_0="No Joomla Module successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_CHECKED_IN_1="%d Joomla Module successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_CHECKED_IN_MORE="%d Joomla Modules successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_DELETED="%s Joomla Modules deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_DELETED_1="%s Joomla Module deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_FEATURED="%s Joomla Modules featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_FEATURED_1="%s Joomla Module featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_PUBLISHED="%s Joomla Modules published."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_PUBLISHED_1="%s Joomla Module published."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_TRASHED="%s Joomla Modules trashed."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_TRASHED_1="%s Joomla Module trashed."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_UNFEATURED="%s Joomla Modules unfeatured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_UNFEATURED_1="%s Joomla Module unfeatured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_UNPUBLISHED="%s Joomla Modules unpublished."
COM_COMPONENTBUILDER_JOOMLA_MODULES_N_ITEMS_UNPUBLISHED_1="%s Joomla Module unpublished."
COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU="Joomla Modules Submenu"
COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU_DESC="Allows the users in this group to submenu of joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES="Joomla Modules Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS="Joomla Modules Updates Access"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS_DESC="Allows the users in this group to access access joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_OPTIONS="Batch process the selected Joomla Modules Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_TIP="All changes will be applied to all selected Joomla Modules Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE="Joomla Modules Updates Batch Use"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE="Joomla Modules Updates Create"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE_DESC="Allows the users in this group to create create joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE="Joomla Modules Updates Delete"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE_DESC="Allows the users in this group to delete delete joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT="Joomla Modules Updates Edit"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY="Joomla Modules Updates Edit Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE="Joomla Modules Updates Edit Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_DESC="Allows the users in this group to edit the joomla module updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN="Joomla Modules Updates Edit Own"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN_DESC="Allows the users in this group to edit edit own joomla modules updates created by them"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE="Joomla Modules Updates Edit State"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla module updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION="Joomla Modules Updates Edit Version"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_ARCHIVED="%s Joomla Modules Updates archived."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_ARCHIVED_1="%s Joomla Module Updates archived."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_CHECKED_IN_0="No Joomla Module Updates successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_CHECKED_IN_1="%d Joomla Module Updates successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_CHECKED_IN_MORE="%d Joomla Modules Updates successfully checked in."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_DELETED="%s Joomla Modules Updates deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_DELETED_1="%s Joomla Module Updates deleted."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_FEATURED="%s Joomla Modules Updates featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_FEATURED_1="%s Joomla Module Updates featured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_PUBLISHED="%s Joomla Modules Updates published."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_PUBLISHED_1="%s Joomla Module Updates published."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_TRASHED="%s Joomla Modules Updates trashed."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_TRASHED_1="%s Joomla Module Updates trashed."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_UNFEATURED="%s Joomla Modules Updates unfeatured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_UNFEATURED_1="%s Joomla Module Updates unfeatured."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_UNPUBLISHED="%s Joomla Modules Updates unpublished."
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_N_ITEMS_UNPUBLISHED_1="%s Joomla Module Updates unpublished."
COM_COMPONENTBUILDER_JOOMLA_MODULE_ABSTRACT_CLASS="abstract class"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADDREADME="Addreadme"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADDREADME_LABEL="Add README"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER="Add Class Helper"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_DESCRIPTION="You can add a helper class to your module."
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_HEADER="Add Class Helper Header"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_HEADER_DESCRIPTION="You can add your own custom helper header script."
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_HEADER_LABEL="Add Class Helper Header"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_LABEL="Add Class Helper"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_METHOD_UNINSTALL="Add Php Method Uninstall"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_METHOD_UNINSTALL_LABEL="Add PHP Method (uninstall)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_POSTFLIGHT_INSTALL="Add Php Postflight Install"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_POSTFLIGHT_INSTALL_LABEL="Add PHP Postflight (install)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_POSTFLIGHT_UPDATE="Add Php Postflight Update"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_POSTFLIGHT_UPDATE_LABEL="Add PHP Postflight (update)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_INSTALL="Add Php Preflight Install"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_INSTALL_LABEL="Add PHP Preflight (install)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_UNINSTALL="Add Php Preflight Uninstall"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_UNINSTALL_LABEL="Add PHP Preflight (uninstall)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_UPDATE="Add Php Preflight Update"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_UPDATE_LABEL="Add PHP Preflight (update)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_SCRIPT_CONSTRUCT="Add Php Script Construct"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_SCRIPT_CONSTRUCT_LABEL="Add PHP Script Construct"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SALES_SERVER="Add Sales Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SALES_SERVER_LABEL="Add Sales Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SQL="Add Sql"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SQL_LABEL="Add MySQL - (Install)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SQL_UNINSTALL="Add Sql Uninstall"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SQL_UNINSTALL_LABEL="Add MySQL - (Uninstall)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_UPDATE_SERVER="Add Update Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_UPDATE_SERVER_LABEL="Add Update Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS="class"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_CODE="Class Helper Code"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_CODE_DESCRIPTION="Add the class properties & methods here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_CODE_LABEL="Class Helper Properties & Methods"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_HEADER="Class Helper Header"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_HEADER_DESCRIPTION="The class header, where JLoader, namespace and use is added."
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_HEADER_LABEL="Class Helper Header"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CODE="Code"
COM_COMPONENTBUILDER_JOOMLA_MODULE_COMPONENT="Component"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_BY_DESC="The user that created this Joomla Module."
COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_DATE_DESC="The date this Joomla Module was created."
COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET="Custom Get"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_DESCRIPTION="Select the custom get methods"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_LABEL="Custom Gets"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_VALUE_DESCRIPTION="Enter custom value if needed"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_VALUE_HINT="Custom Value Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_VALUE_LABEL="Custom Value"
COM_COMPONENTBUILDER_JOOMLA_MODULE_DEFAULT="Default"
COM_COMPONENTBUILDER_JOOMLA_MODULE_DEFAULT_DESCRIPTION="Add the code here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_DEFAULT_LABEL="Default Tmpl"
COM_COMPONENTBUILDER_JOOMLA_MODULE_DESCRIPTION="Description"
COM_COMPONENTBUILDER_JOOMLA_MODULE_DESCRIPTION_DESCRIPTION="Add Description Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_DESCRIPTION_HINT="Add Description Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_DESCRIPTION_LABEL="Description"
COM_COMPONENTBUILDER_JOOMLA_MODULE_DYNAMIC_INTEGRATION="Dynamic Integration"
COM_COMPONENTBUILDER_JOOMLA_MODULE_EDIT="Editing the Joomla Module"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ERROR_UNIQUE_ALIAS="Another Joomla Module has the same alias."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD="Field"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS="Fields"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDSET_DESCRIPTION="Leave default if you don't know what this should be"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDSET_HINT="basic"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDSET_LABEL="Fieldset Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_DESCRIPTION="All the field that belong to this form."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_LABEL="Related Forms"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_NAME_DESCRIPTION="Leave default if you don't know what this should be."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_NAME_HINT="params"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_NAME_LABEL="Fields Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_RULES_PATHS_DESCRIPTION="Where should the <b>custom</b> fields and rules be placed."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_RULES_PATHS_LABEL="Fields & Rules Paths"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_DESCRIPTION="Select a field"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_LABEL="Field"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS="Joomla Module Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILES="Addfiles"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILESFULLPATH="Addfilesfullpath"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILESFULLPATH_DESCRIPTION="Add files to this component using the full path."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILESFULLPATH_LABEL="Files (full path)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILES_DESCRIPTION="Add custom files to this component from the custom folder. Path: /administrator/components/com_componentbuilder/custom/"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILES_LABEL="Files (custom folder)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERS="Addfolders"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERSFULLPATH="Addfoldersfullpath"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERSFULLPATH_DESCRIPTION="Add custom folder to this component using the full path."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERSFULLPATH_LABEL="Folder (full path)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERS_DESCRIPTION="Add custom folder to this component from the custom folder. Path: /administrator/components/com_componentbuilder/custom/"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERS_LABEL="Folder (custom folder)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDURLS="Addurls"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDURLS_DESCRIPTION="Add urls for this library."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDURLS_LABEL="URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADVANCE="Advance"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_BASIC="Basic"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_BY_DESC="The user that created this Joomla Module Files, Folders & URLs."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_DATE_DESC="The date this Joomla Module Files, Folders & URLs was created."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_DEFAULT_LINK="Default (link)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_EDIT="Editing the Joomla Module Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ERROR_UNIQUE_ALIAS="Another Joomla Module Files, Folders & URLs has the same alias."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILE="File"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_DESCRIPTION="Full System Path"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_HINT="/home/user/folder/file.php"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_LABEL="File Path"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_MESSAGE="Error! Please add folder path here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILE_DESCRIPTION="Add the files to custom folder"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILE_LABEL="File"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDER="Folder"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_DESCRIPTION="Full System Path"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_HINT="/home/user/folder"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_LABEL="Folder Path"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_MESSAGE="Error! Please add folder path here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDER_DESCRIPTION="Add the folder to custom folder"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDER_LABEL="Folder"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ID="Id"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_JOOMLA_MODULE="Joomla Module"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_JOOMLA_MODULE_LABEL="Joomla Modules"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_LINK_LOCAL_DYNAMIC="Link & Local (dynamic)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_LOCAL_GET="Local (get)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_BY_DESC="The last user that modified this Joomla Module Files, Folders & URLs."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_DATE_DESC="The date this Joomla Module Files, Folders & URLs was modified."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NEW="A New Joomla Module Files, Folders & URLs"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_DESCRIPTION="You can add custom files to the component, simply add the files to the administrator/components/com_componentbuilder/custom folder and then select them here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_FULLPATH_DESCRIPTION="You can add any files to the component, by using the full system path. Example: /home/user/folder/file.php (make sure that php has permission to read the file)<br /><b>Please note</b> that you can also <b>use constant paths in your full path</b> (directly without quotes), this is highly recommended to insure portability.<br />To see a list of constant paths please read the notes below. Example: JPATH_ROOT/file.php or JPATH_ROOT/components/com_yourcomponentname/helpers/file.php"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_FULLPATH_LABEL="Adding Files"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_LABEL="Adding Custom Files"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_DESCRIPTION="You can add custom folders to the component, simply add the folders to the administrator/components/com_componentbuilder/custom folder and then select them here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_FULLPATH_DESCRIPTION="You can any folders to the component, by using the full system path. Example: /home/user/folder (make sure that php has permission to read the folder)<br /><b>Please note</b> that you can also <b>use constant paths in your full path</b> (directly without quotes), this is highly recommended to insure portability.<br />To see a list of constant paths please read the notes below. Example: JPATH_ROOT/folder or JPATH_ROOT/components/com_yourcomponentname/helpers/folder"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_FULLPATH_LABEL="Adding Folders"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_LABEL="Adding Custom Folders"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_URLS_DESCRIPTION="You can add urls here, and it can be used in three ways. As a direct link <b>(default)</b> or to get the file content and add it to the component <b>(get)</b> or as both local and link <b>(dynamic)</b>"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_URLS_LABEL="Adding Urls"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_CONSTANT_PATHS_DESCRIPTION="<p>// The path to the administrator folder.<br />
<b>JPATH_ADMINISTRATOR</b><br />
// The path to the installed Joomla! site, or JPATH_ROOT/administrator if executed from the backend.<br />
<b>JPATH_BASE</b><br />
// The path to the cache folder.<br />
<b>JPATH_CACHE</b><br />
// The path to the administration folder of JCB component.<br />
<b>JPATH_COMPONENT_ADMINISTRATOR</b> <small>no ideal to use</small><br />
// The path to the site folder of JCB component.<br />
<b>JPATH_COMPONENT_SITE</b> <small>no ideal to use</small><br />
// The path to the JCB component.<br />
<b>JPATH_COMPONENT</b> <small>no ideal to use</small><br />
// The path to folder containing the configuration.php file.<br />
<b>JPATH_CONFIGURATION</b><br />
// The path to the installation folder.<br />
<b>JPATH_INSTALLATION</b><br />
// The path to the libraries folder.<br />
<b>JPATH_LIBRARIES</b><br />
// The path to the plugins folder.<br />
<b>JPATH_PLUGINS</b><br />
// The path to the installed Joomla! site.<br />
<b>JPATH_ROOT</b><br />
// The path to the installed Joomla! site.<br />
<b>JPATH_SITE</b><br />
// The path to the templates folder.<br />
<b>JPATH_THEMES</b></p>
<p>JPATH_SITE is meant to represent the root path of the JSite application,<br />
just as JPATH_ADMINISTRATOR is mean to represent the root path of the JAdministrator application.<br />
JPATH_BASE is the root path for the current requested application.... so if you are in the administrator application:<br />
JPATH_BASE == JPATH_ADMINISTRATOR<br />
If you are in the site application:<br />
JPATH_BASE == JPATH_SITE<br />
If you are in the installation application:<br />
JPATH_BASE == JPATH_INSTALLATION.<br />
JPATH_ROOT is the root path for the Joomla install and does not depend upon any application.</p>"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_CONSTANT_PATHS_LABEL="Constant Paths"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTNEW_DESCRIPTION="Should file be updated."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTNEW_LABEL="Update"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_DESCRIPTION="Path in relation to the folder structure in the install package, <b>unzip the compiled zip file</b> to see the structure."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_HINT="Target Path Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_LABEL="Target Path"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_MESSAGE="Error! Please add target path."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PERMISSION="Permissions"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_RENAME_LABEL="Rename"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Module Files, Folders & URLs to customise the alias."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_STATUS="Status"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_TYPE_DESCRIPTION="way url is used"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_TYPE_LABEL="Type"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_DESCRIPTION="Enter URL to <b>file</b>."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_HINT="http://www.example.com/file.js"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_LABEL="URL"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_MESSAGE="Error! Please add url here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_VERSION_DESC="A count of the number of times this Joomla Module Files, Folders & URLs has been revised."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILE_DESCRIPTION="Leave default if you don't know what this should be. This field is ignored if this form belongs to the plugin config area."
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILE_HINT="config"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILE_LABEL="File Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_FORMS_FIELDS="Forms & Fields"
COM_COMPONENTBUILDER_JOOMLA_MODULE_GET_SNIPPETS_BUTTON_ACCESS="Joomla Module Get Snippets Button Access"
COM_COMPONENTBUILDER_JOOMLA_MODULE_GET_SNIPPETS_BUTTON_ACCESS_DESC="Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_JOOMLA_MODULE_HELPER="Helper"
COM_COMPONENTBUILDER_JOOMLA_MODULE_HTML="HTML"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ID="Id"
COM_COMPONENTBUILDER_JOOMLA_MODULE_LABEL_DESCRIPTION="Not mandatory, used to Label the Fieldset"
COM_COMPONENTBUILDER_JOOMLA_MODULE_LABEL_HINT="Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_LABEL_LABEL="Label"
COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES="Libraries"
COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_DESCRIPTION="Select the media libraries you want to use here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_LABEL="Media Libraries"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_BY_DESC="The last user that modified this Joomla Module."
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_DATE_DESC="The date this Joomla Module was modified."
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE="Module"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_DESCRIPTION="Add this form the the Module Config area."
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_LABEL="Add to Module Config"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION="Module Version"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_DESCRIPTION="Add Version Number Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_HINT="1.0.0"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_MESSAGE="Error! Please add version here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_MOD_CODE="Mod Code"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MOD_CODE_DESCRIPTION="The code that is added to the main mod_name.php file"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MOD_CODE_LABEL="Module Code"
COM_COMPONENTBUILDER_JOOMLA_MODULE_MYSQL="MySQL"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME="Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_DESCRIPTION="Enter Name Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_HINT="Name Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_LABEL="Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_MESSAGE="Error! Please add name here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_NEW="A New Joomla Module"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO="No"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NONE="None"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION="<code>&lt;?php echo JText::_(&apos;Text&apos;); ?&gt;</code>"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_LABEL="Add Language String"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_DESCRIPTION="<p>All libraries added to modules are added to the component media folder for now</p>
<p>So over here you are able to manually add HTML code to your model default tmpl.</p>"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_LABEL="Libraries Options"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LINKED_TO_NOTICE_DESCRIPTION="<div id='display_linked_to'>Searching the database.<span class='loading-dots'></span></div>"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LINKED_TO_NOTICE_LABEL="Linked To"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_MOD_FILE_OPTIONS_DESCRIPTION="<p>If you have added any fields in the Config/Params tab, these fields will be available to you in the <code>$params</code> object, and can be accessed via the field name <code>$params->get('fieldname');</code> with the get method.</p>"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_MOD_FILE_OPTIONS_LABEL="Mod File Options"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_SNIPPET_USAGE_LABEL="Snippet Usage"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UIKIT_SNIPPET_LABEL="Snippet Details"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION="During compilation the file will be moved to the server. You still need to point the above <b>update server</b> url to the xml file location on your server for it to work correctly."
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL="Select the server used for your update server."
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_OTHER_DESCRIPTION="Not really sure what other options to add.... so let me know. For now this option does not really do anything except adding the link above to your component as an update server. So it really could be called the manual option, since you will need to set the update server your self. You still need to point the above <b>update server</b> url to the manually created xml file for it to work correctly."
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_OTHER_LABEL="The Other Options"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_ZIP_DESCRIPTION="The update server XML file will be added to the zipped package during compilation. You still need to point the above <b>update server</b> url to the xml wherever you have placed the files online."
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_ZIP_LABEL="The ZIP Option"
COM_COMPONENTBUILDER_JOOMLA_MODULE_NOT_REQUIRED="Not Required"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_JOOMLA_MODULE_OTHER="Other"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PERMISSION="Permissions"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_METHOD_UNINSTALL="Php Method Uninstall"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_METHOD_UNINSTALL_DESCRIPTION="PHP script that should run during uninstall."
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_METHOD_UNINSTALL_LABEL="PHP Method (uninstall)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_INSTALL="Php Postflight Install"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_INSTALL_DESCRIPTION="PHP script that should run postflight during install."
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_INSTALL_LABEL="PHP Postflight (install)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_UPDATE="Php Postflight Update"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_UPDATE_DESCRIPTION="PHP script that should run postflight during update."
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_UPDATE_LABEL="PHP Postflight (update)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_INSTALL="Php Preflight Install"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_INSTALL_DESCRIPTION="PHP script that should run preflight during install."
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_INSTALL_LABEL="PHP Preflight (install)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UNINSTALL="Php Preflight Uninstall"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UNINSTALL_DESCRIPTION="PHP script that should run preflight during uninstall."
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UNINSTALL_LABEL="PHP Preflight (uninstall)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UPDATE="Php Preflight Update"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UPDATE_DESCRIPTION="PHP script that should run preflight during update."
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UPDATE_LABEL="PHP Preflight (update)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_SCRIPT_CONSTRUCT="Php Script Construct"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_SCRIPT_CONSTRUCT_DESCRIPTION="PHP script that should run in __construct of script."
COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_SCRIPT_CONSTRUCT_LABEL="PHP Script Construct"
COM_COMPONENTBUILDER_JOOMLA_MODULE_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_JOOMLA_MODULE_README="Readme"
COM_COMPONENTBUILDER_JOOMLA_MODULE_README_LABEL="README.md"
COM_COMPONENTBUILDER_JOOMLA_MODULE_RUN_EXPANSION_BUTTON_ACCESS="Joomla Module Run Expansion Button Access"
COM_COMPONENTBUILDER_JOOMLA_MODULE_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER="Sales Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_LABEL="Sales Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Module to customise the alias."
COM_COMPONENTBUILDER_JOOMLA_MODULE_SCRIPT_FILE="Script File"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SERVER="Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET="Snippet"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_DESCRIPTION="Select a snippet you would like to use or review."
COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_LABEL="Select a Snippet"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL="Sql"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_DESCRIPTION="Add your MySQL here!"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_HINT="// Add MySQL Table Dump Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_LABEL="MySQL - (Install)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_UNINSTALL="Sql Uninstall"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_UNINSTALL_DESCRIPTION="Add your MySQL here for uninstall!"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_UNINSTALL_HINT="// Add MySQL to uninstall Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_UNINSTALL_LABEL="MySQL - (Uninstall)"
COM_COMPONENTBUILDER_JOOMLA_MODULE_STATUS="Status"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME="System Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_DESCRIPTION="Used only in the system."
COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_HINT="The System Name Here"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_LABEL="System Name"
COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_MESSAGE="Error! Please add some text here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES="Joomla Module Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_BY_DESC="The user that created this Joomla Module Updates."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_DATE_DESC="The date this Joomla Module Updates was created."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_DATE_LABEL="Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_EDIT="Editing the Joomla Module Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_ERROR_UNIQUE_ALIAS="Another Joomla Module Updates has the same alias."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_ID="Id"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_JOOMLA_MODULE="Joomla Module"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_JOOMLA_MODULE_LABEL="Joomla Modules"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_BY_DESC="The last user that modified this Joomla Module Updates."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_DATE_DESC="The date this Joomla Module Updates was modified."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MYSQL_DESCRIPTION="Update Dump"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MYSQL_HINT="// MySQL for update or blank for none"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MYSQL_LABEL="MySQL"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_NEW="A New Joomla Module Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_PERMISSION="Permissions"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Module Updates to customise the alias."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_STATUS="Status"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_UPDATES="Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_DESCRIPTION="Enter Download Link"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_HINT="http://www.example.com/file.zip"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_LABEL="Version URL"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_MESSAGE="Error! Please add url here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_DESC="A count of the number of times this Joomla Module Updates has been revised."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_DESCRIPTION="1.0.0"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_HINT="1.0.0"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_MESSAGE="Error! Please add some text here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_UPDATE="Version Update"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_UPDATE_DESCRIPTION="Add Version Updates Here!"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_UPDATE_LABEL="Version Updates"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER="Update Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_DESCRIPTION="Select your update server for this component."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_LABEL="Update Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_TARGET="Update Server Target"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_TARGET_DESCRIPTION="Select the type of way you would like the update server to be set."
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_TARGET_LABEL="Update Server Target"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL="Update Server Url"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_DESCRIPTION="Enter Update Server URL"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_HINT="http://www.example.com/update/extension_name.xml"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_LABEL="Update Server"
COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_MESSAGE="Error! Please add url here."
COM_COMPONENTBUILDER_JOOMLA_MODULE_VERSION_DESC="A count of the number of times this Joomla Module has been revised."
COM_COMPONENTBUILDER_JOOMLA_MODULE_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES="Yes"
COM_COMPONENTBUILDER_JOOMLA_MODULE_ZIP="ZIP"
COM_COMPONENTBUILDER_JOOMLA_PLUGIN="Joomla Plugin"
COM_COMPONENTBUILDER_JOOMLA_PLUGINS="Joomla Plugins"
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS="Joomla Plugins Access"
@ -6591,8 +7146,6 @@ COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE="Layouts Batch Use"
COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch layouts"
COM_COMPONENTBUILDER_LAYOUTS_CREATE="Layouts Create"
COM_COMPONENTBUILDER_LAYOUTS_CREATE_DESC="Allows the users in this group to create create layouts"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD="Layouts Dashboard Add"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST="Layouts Dashboard List"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of layout"
COM_COMPONENTBUILDER_LAYOUTS_DELETE="Layouts Delete"
@ -7252,10 +7805,11 @@ COM_COMPONENTBUILDER_PLACEHOLDER_NOTE_PLACEHOLDERS_PLACEDIN_DESCRIPTION="<div cl
<div id='placedin-n' style='display:none;'><h2>Libraries</h2><div id='area-n'></div></div>
<div id='placedin-o' style='display:none;'><h2>Custom Code</h2><div id='area-o'></div></div>
<div id='placedin-p' style='display:none;'><h2>Validation Rule</h2><div id='area-p'></div></div>
<div id='placedin-q' style='display:none;'><h2>Joomla Plugin</h2><div id='area-q'></div></div>
<div id='placedin-r' style='display:none;'><h2>Class Extends</h2><div id='area-r'></div></div>
<div id='placedin-s' style='display:none;'><h2>Class Property</h2><div id='area-s'></div></div>
<div id='placedin-t' style='display:none;'><h2>Class Method</h2><div id='area-t'></div></div>
<div id='placedin-q' style='display:none;'><h2>Joomla Method</h2><div id='area-q'></div></div>
<div id='placedin-r' style='display:none;'><h2>Joomla Plugin</h2><div id='area-r'></div></div>
<div id='placedin-s' style='display:none;'><h2>Class Extends</h2><div id='area-s'></div></div>
<div id='placedin-t' style='display:none;'><h2>Class Property</h2><div id='area-t'></div></div>
<div id='placedin-u' style='display:none;'><h2>Class Method</h2><div id='area-u'></div></div>
<div id='loading-placedin' style='display: none;'><h2>Scanning Database<span class='loading-dots'>..</span></h2></div>
<div id='note-placedin-found' style='display: none;'><small>You can edit the above areas where this placeholder is used.</small></div>
<div id='note-placedin-not' style='display: none;'><small>This placeholder is not used in any area of the JCB custom code blocks at this time.</small></div>
@ -7658,7 +8212,7 @@ COM_COMPONENTBUILDER_SITE_VIEW_DASHBOARD="Dashboard"
COM_COMPONENTBUILDER_SITE_VIEW_DATABASE="Database"
COM_COMPONENTBUILDER_SITE_VIEW_DEFAULT="Default"
COM_COMPONENTBUILDER_SITE_VIEW_DEFAULT_DESCRIPTION="Add the code here."
COM_COMPONENTBUILDER_SITE_VIEW_DEFAULT_LABEL="Default View"
COM_COMPONENTBUILDER_SITE_VIEW_DEFAULT_LABEL="Default Tmpl"
COM_COMPONENTBUILDER_SITE_VIEW_DELETE="Delete"
COM_COMPONENTBUILDER_SITE_VIEW_DESCRIPTION="Description"
COM_COMPONENTBUILDER_SITE_VIEW_DESCRIPTION_DESCRIPTION="Enter some description"
@ -8156,6 +8710,7 @@ COM_COMPONENTBUILDER_SUBMENU_FIELDTYPES="Fieldtypes"
COM_COMPONENTBUILDER_SUBMENU_GET_SNIPPETS="Get Snippets"
COM_COMPONENTBUILDER_SUBMENU_HELP_DOCUMENTS="Help Documents"
COM_COMPONENTBUILDER_SUBMENU_JOOMLA_COMPONENTS="Joomla Components"
COM_COMPONENTBUILDER_SUBMENU_JOOMLA_MODULES="Joomla Modules"
COM_COMPONENTBUILDER_SUBMENU_JOOMLA_PLUGINS="Joomla Plugins"
COM_COMPONENTBUILDER_SUBMENU_LANGUAGES="Languages"
COM_COMPONENTBUILDER_SUBMENU_LANGUAGE_TRANSLATIONS="Language Translations"
@ -8331,6 +8886,7 @@ COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_MENUS="The component custom admi
COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_VIEWS="The component custom admin views"
COM_COMPONENTBUILDER_THE_COMPONENT_DASHBOARD="The component dashboard"
COM_COMPONENTBUILDER_THE_COMPONENT_FILES_FOLDERS="The component files & folders"
COM_COMPONENTBUILDER_THE_COMPONENT_MODULES="The component modules"
COM_COMPONENTBUILDER_THE_COMPONENT_MYSQL_TWEAKS="The component mysql tweaks"
COM_COMPONENTBUILDER_THE_COMPONENT_PLACEHOLDERS="The component placeholders"
COM_COMPONENTBUILDER_THE_COMPONENT_PLUGINS="The component plugins"
@ -8343,6 +8899,8 @@ COM_COMPONENTBUILDER_THE_KEY_OF_THIS_PACKAGE="The key of this package."
COM_COMPONENTBUILDER_THE_LIBRARY_CONFIG_FIELDS="The library config fields"
COM_COMPONENTBUILDER_THE_LIBRARY_FILES_FOLDERS_URLS="The library files, folders & URLs"
COM_COMPONENTBUILDER_THE_LOGIN_TO_BSB_HAS_FAILED_PLEASE_CHECK_THAT_YOUR_DETAILS_ARE_CORRECT="The login to <b>%s</b> has failed, please check that your details are correct!"
COM_COMPONENTBUILDER_THE_MODULE_FILES_FOLDERS="The module files & folders"
COM_COMPONENTBUILDER_THE_MODULE_UPDATES="The module updates"
COM_COMPONENTBUILDER_THE_NAME_OF_THIS_LIBRARY_BSB_CAN_NOT_BE_CHANGED_TO_BSB_OR_THINGS_WILL_BREAK="The name of this library (<b>%s</b>) can not be changed to <b>%s</b> or things will break."
COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING="The notice board is loading"
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE="The package key is: <code>%s</code>"
@ -8351,6 +8909,7 @@ COM_COMPONENTBUILDER_THE_PLUGIN_FILES_FOLDERS="The plugin files & folders"
COM_COMPONENTBUILDER_THE_PLUGIN_UPDATES="The plugin updates"
COM_COMPONENTBUILDER_THE_PRIVATE_KEY_FIELD_COULD_NOT_BE_LOADED_FOR_BSB_SERVER="The private key field could not be loaded for <b>%s</b> server!"
COM_COMPONENTBUILDER_THE_PRIVATE_KEY_FILE_COULD_NOT_BE_LOADEDFOUND_FOR_BSB_SERVER="The private key file could not be loaded/found for <b>%s</b> server!"
COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING="The pro board is loading"
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
COM_COMPONENTBUILDER_THE_SEARCH_FOR_THE_SNIPPETS_ARE_CASE_SENSITIVE_SO_IF_YOU_CHANGED_THE_LOCAL_BNAMESB_OF_EITHER_OR_THE_BSNIPPET_LIBRARY_OR_SNIPPET_TYPESB_IN_ANY_SMALL_WAY_THE_SYSTEM_WILL_NOT_BE_ABLE_TO_CONNECT_YOUR_LOCAL_SNIPPETS_WITH_THOSE_IN_THE_COMMUNITY_REPOSITORY_SO_WE_STRONGLY_ADVICE_TO_BKEEP_TO_THE_COMMUNITY_NAMINGB_TO_AVOID_MISMATCHING_THAT_WILL_IN_TURN_CAUSE_DUPLICATION_SO_IF_YOU_CHANGED_ANY_NAMES_JUST_CHANGE_THEM_BACK_AND_ALL_WILL_AGAIN_WORK_AS_EXPECTED="The search for the snippets are case sensitive so if you changed the local <b>names</b> of either or the <b>snippet, library or snippet types</b> in any small way, the system will not be able to connect your local snippets with those in the community repository. So we strongly advice to <b>keep to the community naming</b> to avoid mismatching, that will in turn cause duplication. So if you changed any names, just change them back and all will again work as expected."
COM_COMPONENTBUILDER_THE_SERVER_DETAILS_FOR_BID_SB_COULD_NOT_BE_RETRIEVED="The server details for <b>(ID: %s)</b> could not be retrieved!"
@ -8393,6 +8952,7 @@ COM_COMPONENTBUILDER_TYPE_COMPONENT_CUSTOM_ADMIN_MENUS="Component Custom Admin M
COM_COMPONENTBUILDER_TYPE_COMPONENT_CUSTOM_ADMIN_VIEWS="Component Custom Admin Views"
COM_COMPONENTBUILDER_TYPE_COMPONENT_DASHBOARD="Component Dashboard"
COM_COMPONENTBUILDER_TYPE_COMPONENT_FILES_FOLDERS="Component Files & Folders"
COM_COMPONENTBUILDER_TYPE_COMPONENT_MODULES="Component Modules"
COM_COMPONENTBUILDER_TYPE_COMPONENT_MYSQL_TWEAKS="Component mysql Tweaks"
COM_COMPONENTBUILDER_TYPE_COMPONENT_PLACEHOLDERS="Component Placeholders"
COM_COMPONENTBUILDER_TYPE_COMPONENT_PLUGINS="Component Plugins"
@ -8407,6 +8967,9 @@ COM_COMPONENTBUILDER_TYPE_FIELD="Field"
COM_COMPONENTBUILDER_TYPE_FIELDTYPE="Fieldtype"
COM_COMPONENTBUILDER_TYPE_HELP_DOCUMENT="Help Document"
COM_COMPONENTBUILDER_TYPE_JOOMLA_COMPONENT="Joomla Component"
COM_COMPONENTBUILDER_TYPE_JOOMLA_MODULE="Joomla Module"
COM_COMPONENTBUILDER_TYPE_JOOMLA_MODULE_FILES_FOLDERS_URLS="Joomla Module Files, Folders & URLs"
COM_COMPONENTBUILDER_TYPE_JOOMLA_MODULE_UPDATES="Joomla Module Updates"
COM_COMPONENTBUILDER_TYPE_JOOMLA_PLUGIN="Joomla Plugin"
COM_COMPONENTBUILDER_TYPE_JOOMLA_PLUGIN_FILES_FOLDERS_URLS="Joomla Plugin Files, Folders & URLs"
COM_COMPONENTBUILDER_TYPE_JOOMLA_PLUGIN_GROUP="Joomla Plugin Group"
@ -8524,6 +9087,7 @@ COM_COMPONENTBUILDER_VALIDATION_RULE_STATUS="Status"
COM_COMPONENTBUILDER_VALIDATION_RULE_VERSION_DESC="A count of the number of times this Validation Rule has been revised."
COM_COMPONENTBUILDER_VALIDATION_RULE_VERSION_LABEL="Version"
COM_COMPONENTBUILDER_VALUE="Value"
COM_COMPONENTBUILDER_VDM_BOARD="VDM board"
COM_COMPONENTBUILDER_VDM_NOTICE_BOARD="VDM Notice Board"
COM_COMPONENTBUILDER_VDM_PACKAGES="VDM Packages"
COM_COMPONENTBUILDER_VERSION="Version"
@ -8555,6 +9119,7 @@ COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONT
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THESE_EXTENSIONS="You do not have permission to install these extensions!"
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_COMPONENT="You do not have permission to install the component!"
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_MODULE="You do not have permission to install the module!"
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_PLUGIN="You do not have permission to install the plugin!"
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE="You do not have permission to run the expansion module!"
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_GET_BOILERPLATE_MODULE="You do not have permission to run the get boilerplate module!"

View File

@ -311,6 +311,26 @@ COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_STATE="Components Files Fold
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_STATE_DESC="Allows the users in this group to update the state of the component files folders"
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_VERSION="Components Files Folders Edit Version"
COM_COMPONENTBUILDER_COMPONENTS_FILES_FOLDERS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version components files folders"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS="Components Modules Access"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_ACCESS_DESC="Allows the users in this group to access access components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_USE="Components Modules Batch Use"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE="Components Modules Create"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_CREATE_DESC="Allows the users in this group to create create components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE="Components Modules Delete"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_DELETE_DESC="Allows the users in this group to delete delete components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT="Components Modules Edit"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY="Components Modules Edit Created By"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE="Components Modules Edit Created Date"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created components modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_DESC="Allows the users in this group to edit the component modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN="Components Modules Edit Own"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_OWN_DESC="Allows the users in this group to edit edit own components modules created by them"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE="Components Modules Edit State"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_STATE_DESC="Allows the users in this group to update the state of the component modules"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION="Components Modules Edit Version"
COM_COMPONENTBUILDER_COMPONENTS_MODULES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version components modules"
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_ACCESS="Components Mysql Tweaks Access"
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_ACCESS_DESC="Allows the users in this group to access access components mysql tweaks"
COM_COMPONENTBUILDER_COMPONENTS_MYSQL_TWEAKS_BATCH_USE="Components Mysql Tweaks Batch Use"
@ -638,6 +658,74 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC="Allows the users in this group to access the import jcb packages button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS="Joomla Component Run Expansion Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS="Joomla Modules Access"
COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS_DESC="Allows the users in this group to access access joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_USE="Joomla Modules Batch Use"
COM_COMPONENTBUILDER_JOOMLA_MODULES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE="Joomla Modules Create"
COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE_DESC="Allows the users in this group to create create joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DASHBOARD_LIST="Joomla Modules Dashboard List"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE="Joomla Modules Delete"
COM_COMPONENTBUILDER_JOOMLA_MODULES_DELETE_DESC="Allows the users in this group to delete delete joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT="Joomla Modules Edit"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY="Joomla Modules Edit Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE="Joomla Modules Edit Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_DESC="Allows the users in this group to edit the joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN="Joomla Modules Edit Own"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN_DESC="Allows the users in this group to edit edit own joomla modules created by them"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE="Joomla Modules Edit State"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION="Joomla Modules Edit Version"
COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla modules"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS="Joomla Modules Files Folders Urls Access"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS_DESC="Allows the users in this group to access access joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE="Joomla Modules Files Folders Urls Batch Use"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE="Joomla Modules Files Folders Urls Create"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE_DESC="Allows the users in this group to create create joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE="Joomla Modules Files Folders Urls Delete"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_DELETE_DESC="Allows the users in this group to delete delete joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT="Joomla Modules Files Folders Urls Edit"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY="Joomla Modules Files Folders Urls Edit Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE="Joomla Modules Files Folders Urls Edit Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_DESC="Allows the users in this group to edit the joomla module files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN="Joomla Modules Files Folders Urls Edit Own"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN_DESC="Allows the users in this group to edit edit own joomla modules files folders urls created by them"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE="Joomla Modules Files Folders Urls Edit State"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla module files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION="Joomla Modules Files Folders Urls Edit Version"
COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla modules files folders urls"
COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU="Joomla Modules Submenu"
COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU_DESC="Allows the users in this group to submenu of joomla module"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS="Joomla Modules Updates Access"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS_DESC="Allows the users in this group to access access joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE="Joomla Modules Updates Batch Use"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE="Joomla Modules Updates Create"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_CREATE_DESC="Allows the users in this group to create create joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE="Joomla Modules Updates Delete"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_DELETE_DESC="Allows the users in this group to delete delete joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT="Joomla Modules Updates Edit"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY="Joomla Modules Updates Edit Created By"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE="Joomla Modules Updates Edit Created Date"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_DESC="Allows the users in this group to edit the joomla module updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN="Joomla Modules Updates Edit Own"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_OWN_DESC="Allows the users in this group to edit edit own joomla modules updates created by them"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE="Joomla Modules Updates Edit State"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla module updates"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION="Joomla Modules Updates Edit Version"
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla modules updates"
COM_COMPONENTBUILDER_JOOMLA_MODULE_GET_SNIPPETS_BUTTON_ACCESS="Joomla Module Get Snippets Button Access"
COM_COMPONENTBUILDER_JOOMLA_MODULE_GET_SNIPPETS_BUTTON_ACCESS_DESC="Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_JOOMLA_MODULE_RUN_EXPANSION_BUTTON_ACCESS="Joomla Module Run Expansion Button Access"
COM_COMPONENTBUILDER_JOOMLA_MODULE_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS="Joomla Plugins Access"
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS_DESC="Allows the users in this group to access access joomla plugins"
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_BATCH_USE="Joomla Plugins Batch Use"
@ -770,8 +858,6 @@ COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE="Layouts Batch Use"
COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch layouts"
COM_COMPONENTBUILDER_LAYOUTS_CREATE="Layouts Create"
COM_COMPONENTBUILDER_LAYOUTS_CREATE_DESC="Allows the users in this group to create create layouts"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD="Layouts Dashboard Add"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_ADD_DESC="Allows the users in this group to dashboard add of layout"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST="Layouts Dashboard List"
COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of layout"
COM_COMPONENTBUILDER_LAYOUTS_DELETE="Layouts Delete"
@ -864,6 +950,7 @@ COM_COMPONENTBUILDER_MENU_FIELDS="Fields"
COM_COMPONENTBUILDER_MENU_FIELDTYPES="Fieldtypes"
COM_COMPONENTBUILDER_MENU_HELP_DOCUMENTS="Help Documents"
COM_COMPONENTBUILDER_MENU_JOOMLA_COMPONENTS="Joomla Components"
COM_COMPONENTBUILDER_MENU_JOOMLA_MODULES="Joomla Modules"
COM_COMPONENTBUILDER_MENU_JOOMLA_PLUGINS="Joomla Plugins"
COM_COMPONENTBUILDER_MENU_LANGUAGE_TRANSLATIONS="Language Translations"
COM_COMPONENTBUILDER_MENU_LAYOUTS="Layouts"

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,44 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'joomla_component'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,45 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'note_on_joomla_modules',
'addjoomla_modules'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,45 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'created',
'created_by',
'modified',
'modified_by'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,47 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'published',
'ordering',
'access',
'version',
'hits',
'id'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -13,7 +13,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vyifields;
$items = $displayData->vymfields;
$user = JFactory::getUser();
$id = $displayData->item->id;
// set the edit URL

View File

@ -0,0 +1,44 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'mod_code'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,42 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'custom_get'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,42 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'note_mod_file_options'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,50 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'add_update_server',
'update_server_url',
'update_server_target',
'note_update_server_note_ftp',
'note_update_server_note_zip',
'note_update_server_note_other',
'update_server',
'add_sales_server',
'sales_server'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,44 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'fields'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,45 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'class_helper_header',
'class_helper_code'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,42 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'add_class_helper'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,42 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'add_class_helper_header'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,45 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'system_name',
'module_version'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,46 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'default',
'note_linked_to_notice',
'not_required'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,46 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'name',
'description',
'libraries',
'note_libraries_options',
'note_add_language_string'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,44 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'snippet',
'note_uikit_snippet',
'note_snippet_usage'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,47 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'add_sql',
'sql',
'add_sql_uninstall',
'sql_uninstall'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,45 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'created',
'created_by',
'modified',
'modified_by'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,47 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'published',
'ordering',
'access',
'version',
'hits',
'id'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,43 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'addreadme',
'readme'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,57 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'add_php_script_construct',
'php_script_construct',
'add_php_preflight_install',
'php_preflight_install',
'add_php_preflight_update',
'php_preflight_update',
'add_php_preflight_uninstall',
'php_preflight_uninstall',
'add_php_postflight_install',
'php_postflight_install',
'add_php_postflight_update',
'php_postflight_update',
'add_php_method_uninstall',
'php_method_uninstall'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,48 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'note_add_files_fullpath',
'addfilesfullpath',
'note_add_folders_fullpath',
'addfoldersfullpath',
'note_constant_paths'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,44 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'joomla_module'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,49 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'note_add_urls',
'addurls',
'note_add_files',
'addfiles',
'note_add_folders',
'addfolders'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,45 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'created',
'created_by',
'modified',
'modified_by'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,47 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'published',
'ordering',
'access',
'version',
'hits',
'id'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,45 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'created',
'created_by',
'modified',
'modified_by'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,47 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'published',
'ordering',
'access',
'version',
'hits',
'id'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
<?php endif; ?>

View File

@ -0,0 +1,44 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'joomla_module'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -0,0 +1,44 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// get the form
$form = $displayData->getForm();
// get the layout fields override method name (from layout path/ID)
$layout_path_array = explode('.', $this->getLayoutId());
// Since we cannot pass the layout and tab names as parameters to the model method
// this name combination of tab and layout in the method name is the only work around
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
// example of layout name: details_left.php
// example of method name: getFields_details_left()
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'version_update'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -13,7 +13,7 @@
defined('_JEXEC') or die('Restricted access');
// set the defaults
$items = $displayData->vyslinked_components;
$items = $displayData->vywlinked_components;
$user = JFactory::getUser();
$id = $displayData->item->id;
// set the edit URL
@ -148,6 +148,11 @@ else
'views' => 'components_dashboard',
'title' => JText::_('COM_COMPONENTBUILDER_THE_COMPONENT_DASHBOARD'),
'icon' => 'dashboard'),
array(
'view' => 'component_modules',
'views' => 'components_modules',
'title' => JText::_('COM_COMPONENTBUILDER_THE_COMPONENT_MODULES'),
'icon' => 'cube'),
array(
'view' => 'component_plugins',
'views' => 'components_plugins',

View File

@ -249,6 +249,66 @@ class ComponentbuilderModelAjax extends JModelList
return function_exists('curl_version');
}
// Used in joomla_module
public function getModuleCode($data)
{
// reset the return array
$code = array();
if (ComponentbuilderHelper::checkJson($data))
{
// convert the data to object
$data = json_decode($data);
// set class
if (isset($data->class) && is_numeric($data->class) && ((int) $data->class == 2 || (int) $data->class == 1))
{
$code['class'] = array();
// add the code
$code['class']['code'] = '// Include the helper functions only once';
$code['class']['code'] .= PHP_EOL . "JLoader::register('Mod[[[Module]]]Helper', __DIR__ . '/helper.php');";
// set placement
$code['class']['merge'] = 1;
$code['class']['merge_target'] = 'prepend';
}
// get data
if (isset($data->get) && ComponentbuilderHelper::checkArray($data->get))
{
$code['get'] = array();
// add the code
$code['get']['code'] = '// Include the data functions only once';
$code['get']['code'] .= PHP_EOL . "JLoader::register('Mod[[[Module]]]Data', __DIR__ . '/data.php');";
// set placement
$code['get']['merge'] = 1;
$code['get']['merge_target'] = 'prepend';
}
// get libraries
if (isset($data->lib) && ComponentbuilderHelper::checkArray($data->lib))
{
$code['lib'] = array();
// add the code
$code['lib']['code'] = '[[[MOD_LIBRARIES]]]';
// set placement
$code['lib']['merge'] = 1;
$code['lib']['merge_target'] = '// get the module class sfx (local)';
}
}
// set the defaults
$code['css'] = array();
$code['tmpl'] = array();
// add the code
$code['css']['code'] = '// get the module class sfx (local)';
$code['css']['code'] .= PHP_EOL . "\$moduleclass_sfx = htmlspecialchars(\$params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8');";
$code['tmpl']['code'] = '// load the default Tmpl';
$code['tmpl']['code'] .= PHP_EOL . "require JModuleHelper::getLayoutPath('mod_[[[module]]]', \$params->get('layout', 'default'));";
// set placement
$code['css']['merge'] = 1;
$code['css']['merge_target'] = '// load the default Tmpl';
$code['tmpl']['merge'] = 1;
$code['tmpl']['merge_target'] = 'append';
return $code;
}
// Used in joomla_plugin
public function getClassCode($id, $type)
{
@ -926,9 +986,11 @@ class ComponentbuilderModelAjax extends JModelList
protected $linkedKeys = array(
'field' => array(
array('table' => 'component_config', 'tables' => 'components_config', 'fields' => array('addconfig' => 'field', 'joomla_component' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT', 'linked_name' => 'system_name'),
array('table' => 'library_config', 'tables' => 'libraries_config', 'fields' => array('addconfig' => 'field', 'library' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_LIBRARY', 'linked_name' => 'name'),
array('table' => 'admin_fields', 'tables' => 'admins_fields', 'fields' => array('addfields' => 'field', 'admin_view' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_ADMIN_VIEW', 'linked_name' => 'system_name'),
array('table' => 'field', 'tables' => 'fields', 'fields' => array('xml' => 'fields', 'name' => 'NAME', 'fieldtype' => 'TYPE'), 'linked' => 'COM_COMPONENTBUILDER_FIELD', 'type_name' => 'name'),
array('table' => 'joomla_plugin', 'tables' => 'joomla_plugins', 'fields' => array('fields' => 'field', 'system_name' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_JOOMLA_PLUGIN')
array('table' => 'joomla_module', 'tables' => 'joomla_modules', 'fields' => array('fields' => 'fields.fields.field', 'system_name' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_JOOMLA_MODULE'),
array('table' => 'joomla_plugin', 'tables' => 'joomla_plugins', 'fields' => array('fields' => 'fields.fields.field', 'system_name' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_JOOMLA_PLUGIN')
),
'admin_view' => array(
array('table' => 'component_admin_views', 'tables' => 'components_admin_views', 'fields' => array('addadmin_views' => 'adminview', 'joomla_component' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT', 'linked_name' => 'system_name')
@ -949,6 +1011,9 @@ class ComponentbuilderModelAjax extends JModelList
array('table' => 'site_view', 'tables' => 'site_views', 'fields' => array('custom_get' => 'ARRAY', 'main_get' => 'INT', 'system_name' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_SITE_VIEW'),
array('table' => 'custom_admin_view', 'tables' => 'custom_admin_views', 'fields' => array('custom_get' => 'ARRAY', 'main_get' => 'INT', 'system_name' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW')
),
'joomla_module' => array(
array('table' => 'component_modules', 'tables' => 'components_modules', 'fields' => array('addjoomla_modules' => 'module', 'joomla_component' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT', 'linked_name' => 'system_name')
),
'joomla_plugin' => array(
array('table' => 'component_plugins', 'tables' => 'components_plugins', 'fields' => array('addjoomla_plugins' => 'plugin', 'joomla_component' => 'NAME'), 'linked' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT', 'linked_name' => 'system_name')
)
@ -1082,11 +1147,43 @@ class ComponentbuilderModelAjax extends JModelList
}
else
{
foreach ($item->{$key} as $row)
// check if this is a sub sub form target
if (strpos($target, '.') !== false)
{
if (isset($row[$target]) && $row[$target] == $id)
$_target = (array) explode('.', $target);
// check that we have an array and get the size
if (($_size = ComponentbuilderHelper::checkArray($_target)) !== false)
{
$found = true;
foreach ($item->{$key} as $row)
{
if ($_size == 2)
{
if (isset($row[$_target[0]]) && isset($row[$_target[0]][$_target[1]]) && $row[$_target[0]][$_target[1]] == $id)
{
$found = true;
}
}
elseif ($_size == 3 && isset($row[$_target[0]]) && ComponentbuilderHelper::checkArray($row[$_target[0]]))
{
foreach ($row[$_target[0]] as $_row)
{
if (!$found && isset($_row[$_target[2]]) && $_row[$_target[2]] == $id)
{
$found = true;
}
}
}
}
}
}
else
{
foreach ($item->{$key} as $row)
{
if (!$found && isset($row[$target]) && $row[$target] == $id)
{
$found = true;
}
}
}
}
@ -2368,7 +2465,7 @@ class ComponentbuilderModelAjax extends JModelList
'search' => array('id', 'system_name', 'php_preflight_install', 'php_postflight_install',
'php_preflight_update', 'php_postflight_update', 'php_method_uninstall',
'php_helper_admin', 'php_admin_event', 'php_helper_both', 'php_helper_site',
'php_site_event', 'javascript'),
'php_site_event', 'javascript', 'readme', 'sql', 'sql_uninstall'),
'views' => 'joomla_components',
'not_base64' => array(),
'name' => 'system_name'
@ -2488,29 +2585,37 @@ class ComponentbuilderModelAjax extends JModelList
'not_base64' => array(),
'name' => 'name'
),
// #__componentbuilder_joomla_plugin (q)
'joomla_plugin' => array(
'search' => array('id', 'system_name', 'name', 'main_class_code', 'head', 'description', 'php_script_construct', 'php_preflight_install', 'php_preflight_update',
'php_preflight_uninstall', 'php_postflight_install', 'php_postflight_update', 'php_method_uninstall'),
'views' => 'joomla_plugins',
'not_base64' => array('description' => 'string'),
// #__componentbuilder_joomla_module (q)
'joomla_module' => array(
'search' => array('id', 'system_name', 'name', 'default', 'description', 'mod_code', 'class_helper_header', 'class_helper_code', 'php_script_construct', 'php_preflight_install', 'php_preflight_update',
'php_preflight_uninstall', 'php_postflight_install', 'php_postflight_update', 'php_method_uninstall', 'sql', 'sql_uninstall', 'readme'),
'views' => 'joomla_modules',
'not_base64' => array('description' => 'string', 'readme' => 'string'),
'name' => 'system_name'
),
// #__componentbuilder_class_extends (r)
// #__componentbuilder_joomla_plugin (r)
'joomla_plugin' => array(
'search' => array('id', 'system_name', 'name', 'main_class_code', 'head', 'description', 'php_script_construct', 'php_preflight_install', 'php_preflight_update',
'php_preflight_uninstall', 'php_postflight_install', 'php_postflight_update', 'php_method_uninstall', 'sql', 'sql_uninstall', 'readme'),
'views' => 'joomla_plugins',
'not_base64' => array('description' => 'string', 'readme' => 'string'),
'name' => 'system_name'
),
// #__componentbuilder_class_extends (s)
'class_extends' => array(
'search' => array('id', 'name', 'head', 'comment'),
'views' => 'class_extendings',
'not_base64' => array(),
'name' => 'name'
),
// #__componentbuilder_class_property (s)
// #__componentbuilder_class_property (t)
'class_property' => array(
'search' => array('id', 'name', 'default', 'comment'),
'views' => 'class_properties',
'not_base64' => array(),
'name' => 'name'
),
// #__componentbuilder_class_method (t)
// #__componentbuilder_class_method (u)
'class_method' => array(
'search' => array('id', 'name', 'code', 'comment'),
'views' => 'class_methods',

View File

@ -0,0 +1,898 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
/**
* Componentbuilder Component_modules Model
*/
class ComponentbuilderModelComponent_modules extends JModelAdmin
{
/**
* The tab layout fields array.
*
* @var array
*/
protected $tabLayoutFields = array(
'modules' => array(
'fullwidth' => array(
'note_on_joomla_modules',
'addjoomla_modules'
),
'above' => array(
'joomla_component'
)
)
);
/**
* @var string The prefix to use with controller messages.
* @since 1.6
*/
protected $text_prefix = 'COM_COMPONENTBUILDER';
/**
* The type alias for this content type.
*
* @var string
* @since 3.2
*/
public $typeAlias = 'com_componentbuilder.component_modules';
/**
* Returns a Table object, always creating it
*
* @param type $type The table type to instantiate
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
* @return JTable A database object
*
* @since 1.6
*/
public function getTable($type = 'component_modules', $prefix = 'ComponentbuilderTable', $config = array())
{
// add table path for when model gets used from other component
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_componentbuilder/tables');
// get instance of the table
return JTable::getInstance($type, $prefix, $config);
}
/**
* Method to get a single record.
*
* @param integer $pk The id of the primary key.
*
* @return mixed Object on success, false on failure.
*
* @since 1.6
*/
public function getItem($pk = null)
{
if ($item = parent::getItem($pk))
{
if (!empty($item->params) && !is_array($item->params))
{
// Convert the params field to an array.
$registry = new Registry;
$registry->loadString($item->params);
$item->params = $registry->toArray();
}
if (!empty($item->metadata))
{
// Convert the metadata field to an array.
$registry = new Registry;
$registry->loadString($item->metadata);
$item->metadata = $registry->toArray();
}
if (!empty($item->addjoomla_modules))
{
// Convert the addjoomla_modules field to an array.
$addjoomla_modules = new Registry;
$addjoomla_modules->loadString($item->addjoomla_modules);
$item->addjoomla_modules = $addjoomla_modules->toArray();
}
if (!empty($item->id))
{
$item->tags = new JHelperTags;
$item->tags->getTagIds($item->id, 'com_componentbuilder.component_modules');
}
}
return $item;
}
/**
* Method to get the record form.
*
* @param array $data Data for the form.
* @param boolean $loadData True if the form is to load its own data (default case), false if not.
* @param array $options Optional array of options for the form creation.
*
* @return mixed A JForm object on success, false on failure
*
* @since 1.6
*/
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
{
// set load data option
$options['load_data'] = $loadData;
// // check if xpath was set in options
$xpath = false;
if (isset($options['xpath']))
{
$xpath = $options['xpath'];
unset($options['xpath']);
}
// // check if clear form was set in options
$clear = false;
if (isset($options['clear']))
{
$clear = $options['clear'];
unset($options['clear']);
}
// Get the form.
$form = $this->loadForm('com_componentbuilder.component_modules', 'component_modules', $options, $clear, $xpath);
if (empty($form))
{
return false;
}
$jinput = JFactory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
if ($jinput->get('a_id'))
{
$id = $jinput->get('a_id', 0, 'INT');
}
// The back end uses id so we use that the rest of the time and set it to 0 by default.
else
{
$id = $jinput->get('id', 0, 'INT');
}
$user = JFactory::getUser();
// Check for existing item.
// Modify the form based on Edit State access controls.
if ($id != 0 && (!$user->authorise('component_modules.edit.state', 'com_componentbuilder.component_modules.' . (int) $id))
|| ($id == 0 && !$user->authorise('component_modules.edit.state', 'com_componentbuilder')))
{
// Disable fields for display.
$form->setFieldAttribute('ordering', 'disabled', 'true');
$form->setFieldAttribute('published', 'disabled', 'true');
// Disable fields while saving.
$form->setFieldAttribute('ordering', 'filter', 'unset');
$form->setFieldAttribute('published', 'filter', 'unset');
}
// If this is a new item insure the greated by is set.
if (0 == $id)
{
// Set the created_by to this user
$form->setValue('created_by', null, $user->id);
}
// Modify the form based on Edit Creaded By access controls.
if ($id != 0 && (!$user->authorise('component_modules.edit.created_by', 'com_componentbuilder.component_modules.' . (int) $id))
|| ($id == 0 && !$user->authorise('component_modules.edit.created_by', 'com_componentbuilder')))
{
// Disable fields for display.
$form->setFieldAttribute('created_by', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('created_by', 'readonly', 'true');
// Disable fields while saving.
$form->setFieldAttribute('created_by', 'filter', 'unset');
}
// Modify the form based on Edit Creaded Date access controls.
if ($id != 0 && (!$user->authorise('component_modules.edit.created', 'com_componentbuilder.component_modules.' . (int) $id))
|| ($id == 0 && !$user->authorise('component_modules.edit.created', 'com_componentbuilder')))
{
// Disable fields for display.
$form->setFieldAttribute('created', 'disabled', 'true');
// Disable fields while saving.
$form->setFieldAttribute('created', 'filter', 'unset');
}
// Only load these values if no id is found
if (0 == $id)
{
// Set redirected view name
$redirectedView = $jinput->get('ref', null, 'STRING');
// Set field name (or fall back to view name)
$redirectedField = $jinput->get('field', $redirectedView, 'STRING');
// Set redirected view id
$redirectedId = $jinput->get('refid', 0, 'INT');
// Set field id (or fall back to redirected view id)
$redirectedValue = $jinput->get('field_id', $redirectedId, 'INT');
if (0 != $redirectedValue && $redirectedField)
{
// Now set the local-redirected field default value
$form->setValue($redirectedField, null, $redirectedValue);
}
}
return $form;
}
/**
* Method to get the script that have to be included on the form
*
* @return string script files
*/
public function getScript()
{
return 'administrator/components/com_componentbuilder/models/forms/component_modules.js';
}
/**
* Method to test whether a record can be deleted.
*
* @param object $record A record object.
*
* @return boolean True if allowed to delete the record. Defaults to the permission set in the component.
*
* @since 1.6
*/
protected function canDelete($record)
{
if (!empty($record->id))
{
if ($record->published != -2)
{
return;
}
$user = JFactory::getUser();
// The record has been set. Check the record permissions.
return $user->authorise('component_modules.delete', 'com_componentbuilder.component_modules.' . (int) $record->id);
}
return false;
}
/**
* Method to test whether a record can have its state edited.
*
* @param object $record A record object.
*
* @return boolean True if allowed to change the state of the record. Defaults to the permission set in the component.
*
* @since 1.6
*/
protected function canEditState($record)
{
$user = JFactory::getUser();
$recordId = (!empty($record->id)) ? $record->id : 0;
if ($recordId)
{
// The record has been set. Check the record permissions.
$permission = $user->authorise('component_modules.edit.state', 'com_componentbuilder.component_modules.' . (int) $recordId);
if (!$permission && !is_null($permission))
{
return false;
}
}
// In the absense of better information, revert to the component permissions.
return $user->authorise('component_modules.edit.state', 'com_componentbuilder');
}
/**
* 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 2.5
*/
protected function allowEdit($data = array(), $key = 'id')
{
// Check specific edit permission then general edit permission.
$user = JFactory::getUser();
return $user->authorise('component_modules.edit', 'com_componentbuilder.component_modules.'. ((int) isset($data[$key]) ? $data[$key] : 0)) or $user->authorise('component_modules.edit', 'com_componentbuilder');
}
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable $table A JTable object.
*
* @return void
*
* @since 1.6
*/
protected function prepareTable($table)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
if (isset($table->name))
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
if (isset($table->alias) && empty($table->alias))
{
$table->generateAlias();
}
if (empty($table->id))
{
$table->created = $date->toSql();
// set the user
if ($table->created_by == 0 || empty($table->created_by))
{
$table->created_by = $user->id;
}
// Set ordering to the last item if not set
if (empty($table->ordering))
{
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('MAX(ordering)')
->from($db->quoteName('#__componentbuilder_component_modules'));
$db->setQuery($query);
$max = $db->loadResult();
$table->ordering = $max + 1;
}
}
else
{
$table->modified = $date->toSql();
$table->modified_by = $user->id;
}
if (!empty($table->id))
{
// Increment the items version number.
$table->version++;
}
}
/**
* Method to get the data that should be injected in the form.
*
* @return mixed The data for the form.
*
* @since 1.6
*/
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_componentbuilder.edit.component_modules.data', array());
if (empty($data))
{
$data = $this->getItem();
// run the perprocess of the data
$this->preprocessData('com_componentbuilder.component_modules', $data);
}
return $data;
}
/**
* Method to get the unique fields of this table.
*
* @return mixed An array of field names, boolean false if none is set.
*
* @since 3.0
*/
protected function getUniqeFields()
{
return false;
}
/**
* Method to delete one or more records.
*
* @param array &$pks An array of record primary keys.
*
* @return boolean True if successful, false if an error occurs.
*
* @since 12.2
*/
public function delete(&$pks)
{
if (!parent::delete($pks))
{
return false;
}
return true;
}
/**
* Method to change the published state of one or more records.
*
* @param array &$pks A list of the primary keys to change.
* @param integer $value The value of the published state.
*
* @return boolean True on success.
*
* @since 12.2
*/
public function publish(&$pks, $value = 1)
{
if (!parent::publish($pks, $value))
{
return false;
}
return true;
}
/**
* Method to perform batch operations on an item or a set of items.
*
* @param array $commands An array of commands to perform.
* @param array $pks An array of item ids.
* @param array $contexts An array of item contexts.
*
* @return boolean Returns true on success, false on failure.
*
* @since 12.2
*/
public function batch($commands, $pks, $contexts)
{
// Sanitize ids.
$pks = array_unique($pks);
JArrayHelper::toInteger($pks);
// Remove any values of zero.
if (array_search(0, $pks, true))
{
unset($pks[array_search(0, $pks, true)]);
}
if (empty($pks))
{
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
return false;
}
$done = false;
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->contentType = new JUcmType;
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
$this->canDo = ComponentbuilderHelper::getActions('component_modules');
$this->batchSet = true;
if (!$this->canDo->get('core.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
if ($this->type == false)
{
$type = new JUcmType;
$this->type = $type->getTypeByAlias($this->typeAlias);
}
$this->tagsObserver = $this->table->getObserverOfClass('JTableObserverTags');
if (!empty($commands['move_copy']))
{
$cmd = JArrayHelper::getValue($commands, 'move_copy', 'c');
if ($cmd == 'c')
{
$result = $this->batchCopy($commands, $pks, $contexts);
if (is_array($result))
{
foreach ($result as $old => $new)
{
$contexts[$new] = $contexts[$old];
}
$pks = array_values($result);
}
else
{
return false;
}
}
elseif ($cmd == 'm' && !$this->batchMove($commands, $pks, $contexts))
{
return false;
}
$done = true;
}
if (!$done)
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
return false;
}
// Clear the cache
$this->cleanCache();
return true;
}
/**
* Batch copy items to a new category or current.
*
* @param integer $values The new values.
* @param array $pks An array of row IDs.
* @param array $contexts An array of item contexts.
*
* @return mixed An array of new IDs on success, boolean false on failure.
*
* @since 12.2
*/
protected function batchCopy($values, $pks, $contexts)
{
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_modules');
}
if (!$this->canDo->get('component_modules.create') && !$this->canDo->get('component_modules.batch'))
{
return false;
}
// get list of uniqe fields
$uniqeFields = $this->getUniqeFields();
// remove move_copy from array
unset($values['move_copy']);
// make sure published is set
if (!isset($values['published']))
{
$values['published'] = 0;
}
elseif (isset($values['published']) && !$this->canDo->get('component_modules.edit.state'))
{
$values['published'] = 0;
}
$newIds = array();
// Parent exists so let's proceed
while (!empty($pks))
{
// Pop the first ID off the stack
$pk = array_shift($pks);
$this->table->reset();
// only allow copy if user may edit this item.
if (!$this->user->authorise('component_modules.edit', $contexts[$pk]))
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
// Check that the row actually exists
if (!$this->table->load($pk))
{
if ($error = $this->table->getError())
{
// Fatal error
$this->setError($error);
return false;
}
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// Only for strings
if (ComponentbuilderHelper::checkString($this->table->joomla_component) && !is_numeric($this->table->joomla_component))
{
$this->table->joomla_component = $this->generateUniqe('joomla_component',$this->table->joomla_component);
}
// insert all set values
if (ComponentbuilderHelper::checkArray($values))
{
foreach ($values as $key => $value)
{
if (strlen($value) > 0 && isset($this->table->$key))
{
$this->table->$key = $value;
}
}
}
// update all uniqe fields
if (ComponentbuilderHelper::checkArray($uniqeFields))
{
foreach ($uniqeFields as $uniqeField)
{
$this->table->$uniqeField = $this->generateUniqe($uniqeField,$this->table->$uniqeField);
}
}
// Reset the ID because we are making a copy
$this->table->id = 0;
// TODO: Deal with ordering?
// $this->table->ordering = 1;
// Check the row.
if (!$this->table->check())
{
$this->setError($this->table->getError());
return false;
}
if (!empty($this->type))
{
$this->createTagsHelper($this->tagsObserver, $this->type, $pk, $this->typeAlias, $this->table);
}
// Store the row.
if (!$this->table->store())
{
$this->setError($this->table->getError());
return false;
}
// Get the new item ID
$newId = $this->table->get('id');
// Add the new ID to the array
$newIds[$pk] = $newId;
}
// Clean the cache
$this->cleanCache();
return $newIds;
}
/**
* Batch move items to a new category
*
* @param integer $value The new category ID.
* @param array $pks An array of row IDs.
* @param array $contexts An array of item contexts.
*
* @return boolean True if successful, false otherwise and internal error is set.
*
* @since 12.2
*/
protected function batchMove($values, $pks, $contexts)
{
if (empty($this->batchSet))
{
// Set some needed variables.
$this->user = JFactory::getUser();
$this->table = $this->getTable();
$this->tableClassName = get_class($this->table);
$this->canDo = ComponentbuilderHelper::getActions('component_modules');
}
if (!$this->canDo->get('component_modules.edit') && !$this->canDo->get('component_modules.batch'))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
// make sure published only updates if user has the permission.
if (isset($values['published']) && !$this->canDo->get('component_modules.edit.state'))
{
unset($values['published']);
}
// remove move_copy from array
unset($values['move_copy']);
// Parent exists so we proceed
foreach ($pks as $pk)
{
if (!$this->user->authorise('component_modules.edit', $contexts[$pk]))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT'));
return false;
}
// Check that the row actually exists
if (!$this->table->load($pk))
{
if ($error = $this->table->getError())
{
// Fatal error
$this->setError($error);
return false;
}
else
{
// Not fatal error
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk));
continue;
}
}
// insert all set values.
if (ComponentbuilderHelper::checkArray($values))
{
foreach ($values as $key => $value)
{
// Do special action for access.
if ('access' === $key && strlen($value) > 0)
{
$this->table->$key = $value;
}
elseif (strlen($value) > 0 && isset($this->table->$key))
{
$this->table->$key = $value;
}
}
}
// Check the row.
if (!$this->table->check())
{
$this->setError($this->table->getError());
return false;
}
if (!empty($this->type))
{
$this->createTagsHelper($this->tagsObserver, $this->type, $pk, $this->typeAlias, $this->table);
}
// Store the row.
if (!$this->table->store())
{
$this->setError($this->table->getError());
return false;
}
}
// Clean the cache
$this->cleanCache();
return true;
}
/**
* Method to save the form data.
*
* @param array $data The form data.
*
* @return boolean True on success.
*
* @since 1.6
*/
public function save($data)
{
$input = JFactory::getApplication()->input;
$filter = JFilterInput::getInstance();
// set the metadata to the Item Data
if (isset($data['metadata']) && isset($data['metadata']['author']))
{
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
$metadata = new JRegistry;
$metadata->loadArray($data['metadata']);
$data['metadata'] = (string) $metadata;
}
// Set the addjoomla_modules items to data.
if (isset($data['addjoomla_modules']) && is_array($data['addjoomla_modules']))
{
$addjoomla_modules = new JRegistry;
$addjoomla_modules->loadArray($data['addjoomla_modules']);
$data['addjoomla_modules'] = (string) $addjoomla_modules;
}
elseif (!isset($data['addjoomla_modules']))
{
// Set the empty addjoomla_modules to data
$data['addjoomla_modules'] = '';
}
// Set the Params Items to data
if (isset($data['params']) && is_array($data['params']))
{
$params = new JRegistry;
$params->loadArray($data['params']);
$data['params'] = (string) $params;
}
// Alter the uniqe field for save as copy
if ($input->get('task') === 'save2copy')
{
// Automatic handling of other uniqe fields
$uniqeFields = $this->getUniqeFields();
if (ComponentbuilderHelper::checkArray($uniqeFields))
{
foreach ($uniqeFields as $uniqeField)
{
$data[$uniqeField] = $this->generateUniqe($uniqeField,$data[$uniqeField]);
}
}
}
if (parent::save($data))
{
return true;
}
return false;
}
/**
* Method to generate a uniqe value.
*
* @param string $field name.
* @param string $value data.
*
* @return string New value.
*
* @since 3.0
*/
protected function generateUniqe($field,$value)
{
// set field value uniqe
$table = $this->getTable();
while ($table->load(array($field => $value)))
{
$value = JString::increment($value);
}
return $value;
}
/**
* Method to change the title
*
* @param string $title The title.
*
* @return array Contains the modified title and alias.
*
*/
protected function _generateNewTitle($title)
{
// Alter the title
$table = $this->getTable();
while ($table->load(array('title' => $title)))
{
$title = JString::increment($title);
}
return $title;
}
}

View File

@ -25,7 +25,7 @@ class ComponentbuilderModelComponentbuilder extends JModelList
$icons = array();
// view groups array
$viewGroups = array(
'main' => array('png.compiler', 'png.joomla_components', 'png.joomla_plugins', 'png.admin_view.add', 'png.admin_views', 'png||importjcbpackages||index.php?option=com_componentbuilder&view=joomla_components&task=joomla_components.smartImport', 'png.custom_admin_view.add', 'png.custom_admin_views', 'png.site_view.add', 'png.site_views', 'png.template.add', 'png.templates', 'png.layout.add', 'png.layouts', 'png.dynamic_get.add', 'png.dynamic_gets', 'png.custom_codes', 'png.placeholders', 'png.libraries', 'png.snippets', 'png.get_snippets', 'png.validation_rules', 'png.field.add', 'png.fields', 'png.fields.catid', 'png.fieldtypes', 'png.fieldtypes.catid', 'png.language_translations', 'png.servers', 'png.help_documents')
'main' => array('png.compiler', 'png.joomla_components', 'png.joomla_modules', 'png.joomla_plugins', 'png||importjcbpackages||index.php?option=com_componentbuilder&view=joomla_components&task=joomla_components.smartImport', 'png.admin_view.add', 'png.admin_views', 'png.custom_admin_view.add', 'png.custom_admin_views', 'png.site_view.add', 'png.site_views', 'png.template.add', 'png.templates', 'png.layouts', 'png.dynamic_get.add', 'png.dynamic_gets', 'png.custom_codes', 'png.placeholders', 'png.libraries', 'png.snippets', 'png.get_snippets', 'png.validation_rules', 'png.field.add', 'png.fields', 'png.fields.catid', 'png.fieldtypes', 'png.fieldtypes.catid', 'png.language_translations', 'png.servers', 'png.help_documents')
);
// view access array
$viewAccess = array(
@ -38,6 +38,11 @@ class ComponentbuilderModelComponentbuilder extends JModelList
'joomla_component.access' => 'joomla_component.access',
'joomla_components.submenu' => 'joomla_component.submenu',
'joomla_components.dashboard_list' => 'joomla_component.dashboard_list',
'joomla_module.create' => 'joomla_module.create',
'joomla_modules.access' => 'joomla_module.access',
'joomla_module.access' => 'joomla_module.access',
'joomla_modules.submenu' => 'joomla_module.submenu',
'joomla_modules.dashboard_list' => 'joomla_module.dashboard_list',
'joomla_plugin.create' => 'joomla_plugin.create',
'joomla_plugins.access' => 'joomla_plugin.access',
'joomla_plugin.access' => 'joomla_plugin.access',
@ -68,7 +73,6 @@ class ComponentbuilderModelComponentbuilder extends JModelList
'layout.access' => 'layout.access',
'layouts.submenu' => 'layout.submenu',
'layouts.dashboard_list' => 'layout.dashboard_list',
'layout.dashboard_add' => 'layout.dashboard_add',
'dynamic_get.create' => 'dynamic_get.create',
'dynamic_gets.access' => 'dynamic_get.access',
'dynamic_get.access' => 'dynamic_get.access',
@ -180,6 +184,9 @@ class ComponentbuilderModelComponentbuilder extends JModelList
'component_plugins.create' => 'component_plugins.create',
'components_plugins.access' => 'component_plugins.access',
'component_plugins.access' => 'component_plugins.access',
'component_modules.create' => 'component_modules.create',
'components_modules.access' => 'component_modules.access',
'component_modules.access' => 'component_modules.access',
'snippet_type.create' => 'snippet_type.create',
'snippet_types.access' => 'snippet_type.access',
'snippet_type.access' => 'snippet_type.access',
@ -192,6 +199,12 @@ class ComponentbuilderModelComponentbuilder extends JModelList
'class_extends.create' => 'class_extends.create',
'class_extendings.access' => 'class_extends.access',
'class_extends.access' => 'class_extends.access',
'joomla_module_updates.create' => 'joomla_module_updates.create',
'joomla_modules_updates.access' => 'joomla_module_updates.access',
'joomla_module_updates.access' => 'joomla_module_updates.access',
'joomla_module_files_folders_urls.create' => 'joomla_module_files_folders_urls.create',
'joomla_modules_files_folders_urls.access' => 'joomla_module_files_folders_urls.access',
'joomla_module_files_folders_urls.access' => 'joomla_module_files_folders_urls.access',
'joomla_plugin_groups.access' => 'joomla_plugin_group.access',
'joomla_plugin_group.access' => 'joomla_plugin_group.access',
'joomla_plugin_updates.create' => 'joomla_plugin_updates.create',
@ -497,7 +510,7 @@ class ComponentbuilderModelComponentbuilder extends JModelList
$document->addScript(JURI::root() . "media/com_componentbuilder/js/marked.js");
$document->addScriptDeclaration('
var token = "'.JSession::getFormToken().'";
var noticeboard = "https://www.vdm.io/componentbuilder-noticeboard-md";
var noticeboard = "https://vdm.bz/componentbuilder-noticeboard-md";
jQuery(document).ready(function () {
jQuery.get(noticeboard)
.success(function(board) {
@ -532,9 +545,9 @@ class ComponentbuilderModelComponentbuilder extends JModelList
// to check is READ/NEW
function getIS(type,notice){
if(type == 1){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isNew&format=json";
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true";
} else if (type == 2) {
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json";
var getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true";
}
if(token.length > 0 && notice.length){
var request = "token="+token+"&notice="+notice;
@ -542,9 +555,9 @@ class ComponentbuilderModelComponentbuilder extends JModelList
return jQuery.ajax({
type: "POST",
url: getUrl,
dataType: "jsonp",
dataType: "json",
data: request,
jsonp: "callback"
jsonp: false
});
}
@ -564,6 +577,29 @@ jQuery(document).ready( function($) {
return '<div id="noticeboard-md">'.JText::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
}
public function getProboard()
{
// get the document to load the scripts
$document = JFactory::getDocument();
$document->addScriptDeclaration('
var proboard = "https://vdm.bz/componentbuilder-pro-noticeboard-md";
jQuery(document).ready(function () {
jQuery.get(proboard)
.success(function(board) {
if (board.length > 5) {
jQuery("#proboard-md").html(marked(board));
} else {
jQuery("#proboard-md").html("'.JText::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATTER').'");
}
})
.error(function(jqXHR, textStatus, errorThrown) {
jQuery("#proboard-md").html("'.JText::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATTER').'");
});
});');
return '<div id="proboard-md">'.JText::_('COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
}
public function getReadme()
{
$document = JFactory::getDocument();

View File

@ -0,0 +1,243 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Components_modules Model
*/
class ComponentbuilderModelComponents_modules extends JModelList
{
public function __construct($config = array())
{
if (empty($config['filter_fields']))
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by'
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* @return void
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
* @return mixed An array of data items on success, false on failure.
*/
public function getItems()
{
// check in items
$this->checkInNow();
// load parent items
$items = parent::getItems();
// Set values to display correctly.
if (ComponentbuilderHelper::checkArray($items))
{
// Get the user object if not set.
if (!isset($user) || !ComponentbuilderHelper::checkObject($user))
{
$user = JFactory::getUser();
}
foreach ($items as $nr => &$item)
{
// Remove items the user can't access.
$access = ($user->authorise('component_modules.access', 'com_componentbuilder.component_modules.' . (int) $item->id) && $user->authorise('component_modules.access', 'com_componentbuilder'));
if (!$access)
{
unset($items[$nr]);
continue;
}
}
}
// return items
return $items;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$query = $db->getQuery(true);
// Select some fields
$query->select('a.*');
// From the componentbuilder_item table
$query->from($db->quoteName('#__componentbuilder_component_modules', 'a'));
// From the componentbuilder_joomla_component table.
$query->select($db->quoteName('g.system_name','joomla_component_system_name'));
$query->join('LEFT', $db->quoteName('#__componentbuilder_joomla_component', 'g') . ' ON (' . $db->quoteName('a.joomla_component') . ' = ' . $db->quoteName('g.id') . ')');
// Filter by published state
$published = $this->getState('filter.published');
if (is_numeric($published))
{
$query->where('a.published = ' . (int) $published);
}
elseif ($published === '')
{
$query->where('(a.published = 0 OR a.published = 1)');
}
// Join over the asset groups.
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
{
$query->where('a.access = ' . (int) $access);
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'asc');
if ($orderCol != '')
{
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get a store id based on model configuration state.
*
* @return string A store id.
*
*/
protected function getStoreId($id = '')
{
// Compile the store id.
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
return parent::getStoreId($id);
}
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
*/
protected function checkInNow()
{
// Get set check in time
$time = JComponentHelper::getParams('com_componentbuilder')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
// reset query
$query = $db->getQuery(true);
$query->select('*');
$query->from($db->quoteName('#__componentbuilder_component_modules'));
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
// Get Yesterdays date
$date = JFactory::getDate()->modify($time)->toSql();
// reset query
$query = $db->getQuery(true);
// Fields to update.
$fields = array(
$db->quoteName('checked_out_time') . '=\'0000-00-00 00:00:00\'',
$db->quoteName('checked_out') . '=0'
);
// Conditions for which records should be updated.
$conditions = array(
$db->quoteName('checked_out') . '!=0',
$db->quoteName('checked_out_time') . '<\''.$date.'\''
);
// Check table
$query->update($db->quoteName('#__componentbuilder_component_modules'))->set($fields)->where($conditions);
$db->setQuery($query);
$db->execute();
}
}
return false;
}
}

View File

@ -35,22 +35,23 @@ class JFormFieldComponents extends JFormFieldList
*/
protected function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','components_system_name')));
$query->from($db->quoteName('#__componentbuilder_joomla_component', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.system_name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->components_system_name);
}
}
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','components_system_name')));
$query->from($db->quoteName('#__componentbuilder_joomla_component', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.system_name ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->components_system_name);
}
}
return $options;
}
}

View File

@ -0,0 +1,71 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
/**
* Joomlamodules Form Field class for the Componentbuilder component
*/
class JFormFieldJoomlamodules extends JFormFieldList
{
/**
* The joomlamodules field type.
*
* @var string
*/
public $type = 'joomlamodules';
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
*/
protected function getOptions()
{
// Get the user object.
$user = JFactory::getUser();
// Get the databse object.
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','joomla_module_system_name')));
$query->from($db->quoteName('#__componentbuilder_joomla_module', 'a'));
$query->where($db->quoteName('a.published') . ' >= 1');
$query->order('a.system_name ASC');
// Implement View Level Access (if set in table)
if (!$user->authorise('core.options', 'com_componentbuilder'))
{
$columns = $db->getTableColumns('#__componentbuilder_joomla_module');
if(isset($columns['access']))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
}
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', 'Select a module');
foreach($items as $item)
{
// set a full class name
$options[] = JHtml::_('select.option', $item->id, $item->joomla_module_system_name);
}
}
return $options;
}
}

View File

@ -247,7 +247,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
*
* @return mixed An array of data items on success, false on failure.
*/
public function getVyifields()
public function getVymfields()
{
// Get the user object.
$user = JFactory::getUser();
@ -335,13 +335,13 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
foreach ($items as $nr => &$item)
{
// convert datatype
$item->datatype = $this->selectionTranslationVyifields($item->datatype, 'datatype');
$item->datatype = $this->selectionTranslationVymfields($item->datatype, 'datatype');
// convert indexes
$item->indexes = $this->selectionTranslationVyifields($item->indexes, 'indexes');
$item->indexes = $this->selectionTranslationVymfields($item->indexes, 'indexes');
// convert null_switch
$item->null_switch = $this->selectionTranslationVyifields($item->null_switch, 'null_switch');
$item->null_switch = $this->selectionTranslationVymfields($item->null_switch, 'null_switch');
// convert store
$item->store = $this->selectionTranslationVyifields($item->store, 'store');
$item->store = $this->selectionTranslationVymfields($item->store, 'store');
}
}
@ -355,7 +355,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin
*
* @return translatable string
*/
public function selectionTranslationVyifields($value,$name)
public function selectionTranslationVymfields($value,$name)
{
// Array of datatype language strings
if ($name === 'datatype')

File diff suppressed because it is too large Load Diff

View File

@ -9,29 +9,29 @@
*/
// Some Global Values
jform_vvvvwbkvxi_required = false;
jform_vvvvwcgvxm_required = false;
// Initial Script
jQuery(document).ready(function()
{
var extension_type_vvvvwbk = jQuery("#jform_extension_type").val();
vvvvwbk(extension_type_vvvvwbk);
var extension_type_vvvvwcg = jQuery("#jform_extension_type").val();
vvvvwcg(extension_type_vvvvwcg);
});
// the vvvvwbk function
function vvvvwbk(extension_type_vvvvwbk)
// the vvvvwcg function
function vvvvwcg(extension_type_vvvvwcg)
{
if (isSet(extension_type_vvvvwbk) && extension_type_vvvvwbk.constructor !== Array)
if (isSet(extension_type_vvvvwcg) && extension_type_vvvvwcg.constructor !== Array)
{
var temp_vvvvwbk = extension_type_vvvvwbk;
var extension_type_vvvvwbk = [];
extension_type_vvvvwbk.push(temp_vvvvwbk);
var temp_vvvvwcg = extension_type_vvvvwcg;
var extension_type_vvvvwcg = [];
extension_type_vvvvwcg.push(temp_vvvvwcg);
}
else if (!isSet(extension_type_vvvvwbk))
else if (!isSet(extension_type_vvvvwcg))
{
var extension_type_vvvvwbk = [];
var extension_type_vvvvwcg = [];
}
var extension_type = extension_type_vvvvwbk.some(extension_type_vvvvwbk_SomeFunc);
var extension_type = extension_type_vvvvwcg.some(extension_type_vvvvwcg_SomeFunc);
// set this function logic
@ -39,35 +39,35 @@ function vvvvwbk(extension_type_vvvvwbk)
{
jQuery('#jform_joomla_plugin_group').closest('.control-group').show();
// add required attribute to joomla_plugin_group field
if (jform_vvvvwbkvxi_required)
if (jform_vvvvwcgvxm_required)
{
updateFieldRequired('joomla_plugin_group',0);
jQuery('#jform_joomla_plugin_group').prop('required','required');
jQuery('#jform_joomla_plugin_group').attr('aria-required',true);
jQuery('#jform_joomla_plugin_group').addClass('required');
jform_vvvvwbkvxi_required = false;
jform_vvvvwcgvxm_required = false;
}
}
else
{
jQuery('#jform_joomla_plugin_group').closest('.control-group').hide();
// remove required attribute from joomla_plugin_group field
if (!jform_vvvvwbkvxi_required)
if (!jform_vvvvwcgvxm_required)
{
updateFieldRequired('joomla_plugin_group',1);
jQuery('#jform_joomla_plugin_group').removeAttr('required');
jQuery('#jform_joomla_plugin_group').removeAttr('aria-required');
jQuery('#jform_joomla_plugin_group').removeClass('required');
jform_vvvvwbkvxi_required = true;
jform_vvvvwcgvxm_required = true;
}
}
}
// the vvvvwbk Some function
function extension_type_vvvvwbk_SomeFunc(extension_type_vvvvwbk)
// the vvvvwcg Some function
function extension_type_vvvvwcg_SomeFunc(extension_type_vvvvwcg)
{
// set the function logic
if (extension_type_vvvvwbk == 'plugins' || extension_type_vvvvwbk == 'plugin')
if (extension_type_vvvvwcg == 'plugins' || extension_type_vvvvwcg == 'plugin')
{
return true;
}

View File

@ -9,29 +9,29 @@
*/
// Some Global Values
jform_vvvvwbjvxh_required = false;
jform_vvvvwcfvxl_required = false;
// Initial Script
jQuery(document).ready(function()
{
var extension_type_vvvvwbj = jQuery("#jform_extension_type").val();
vvvvwbj(extension_type_vvvvwbj);
var extension_type_vvvvwcf = jQuery("#jform_extension_type").val();
vvvvwcf(extension_type_vvvvwcf);
});
// the vvvvwbj function
function vvvvwbj(extension_type_vvvvwbj)
// the vvvvwcf function
function vvvvwcf(extension_type_vvvvwcf)
{
if (isSet(extension_type_vvvvwbj) && extension_type_vvvvwbj.constructor !== Array)
if (isSet(extension_type_vvvvwcf) && extension_type_vvvvwcf.constructor !== Array)
{
var temp_vvvvwbj = extension_type_vvvvwbj;
var extension_type_vvvvwbj = [];
extension_type_vvvvwbj.push(temp_vvvvwbj);
var temp_vvvvwcf = extension_type_vvvvwcf;
var extension_type_vvvvwcf = [];
extension_type_vvvvwcf.push(temp_vvvvwcf);
}
else if (!isSet(extension_type_vvvvwbj))
else if (!isSet(extension_type_vvvvwcf))
{
var extension_type_vvvvwbj = [];
var extension_type_vvvvwcf = [];
}
var extension_type = extension_type_vvvvwbj.some(extension_type_vvvvwbj_SomeFunc);
var extension_type = extension_type_vvvvwcf.some(extension_type_vvvvwcf_SomeFunc);
// set this function logic
@ -39,35 +39,35 @@ function vvvvwbj(extension_type_vvvvwbj)
{
jQuery('#jform_joomla_plugin_group').closest('.control-group').show();
// add required attribute to joomla_plugin_group field
if (jform_vvvvwbjvxh_required)
if (jform_vvvvwcfvxl_required)
{
updateFieldRequired('joomla_plugin_group',0);
jQuery('#jform_joomla_plugin_group').prop('required','required');
jQuery('#jform_joomla_plugin_group').attr('aria-required',true);
jQuery('#jform_joomla_plugin_group').addClass('required');
jform_vvvvwbjvxh_required = false;
jform_vvvvwcfvxl_required = false;
}
}
else
{
jQuery('#jform_joomla_plugin_group').closest('.control-group').hide();
// remove required attribute from joomla_plugin_group field
if (!jform_vvvvwbjvxh_required)
if (!jform_vvvvwcfvxl_required)
{
updateFieldRequired('joomla_plugin_group',1);
jQuery('#jform_joomla_plugin_group').removeAttr('required');
jQuery('#jform_joomla_plugin_group').removeAttr('aria-required');
jQuery('#jform_joomla_plugin_group').removeClass('required');
jform_vvvvwbjvxh_required = true;
jform_vvvvwcfvxl_required = true;
}
}
}
// the vvvvwbj Some function
function extension_type_vvvvwbj_SomeFunc(extension_type_vvvvwbj)
// the vvvvwcf Some function
function extension_type_vvvvwcf_SomeFunc(extension_type_vvvvwcf)
{
// set the function logic
if (extension_type_vvvvwbj == 'plugins' || extension_type_vvvvwbj == 'plugin')
if (extension_type_vvvvwcf == 'plugins' || extension_type_vvvvwcf == 'plugin')
{
return true;
}

View File

@ -0,0 +1,11 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

View File

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addrulepath="/administrator/components/com_componentbuilder/models/rules"
addfieldpath="/administrator/components/com_componentbuilder/models/fields"
>
<fieldset name="details">
<!-- Default Fields. -->
<!-- Id Field. Type: Text (joomla) -->
<field
name="id"
type="text" class="readonly" label="JGLOBAL_FIELD_ID_LABEL"
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
readonly="true"
/>
<!-- Date Created Field. Type: Calendar (joomla) -->
<field
name="created"
type="calendar"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
/>
<!-- User Created Field. Type: User (joomla) -->
<field
name="created_by"
type="user"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_CREATED_BY_DESC"
/>
<!-- Published Field. Type: List (joomla) -->
<field name="published" type="list" label="JSTATUS"
description="JFIELD_PUBLISHED_DESC" class="chzn-color-state"
filter="intval" size="1" default="1" >
<option value="1">
JPUBLISHED</option>
<option value="0">
JUNPUBLISHED</option>
<option value="2">
JARCHIVED</option>
<option value="-2">
JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla) -->
<field name="modified" type="calendar" class="readonly"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_DATE_DESC"
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
<!-- User Modified Field. Type: User (joomla) -->
<field name="modified_by" type="user"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset"
/>
<!-- Access Field. Type: Accesslevel (joomla) -->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false"
/>
<!-- Ordering Field. Type: Numbers (joomla) -->
<field
name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false"
/>
<!-- Version Field. Type: Text (joomla) -->
<field
name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_VERSION_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_VERSION_DESC"
size="6"
readonly="true"
filter="unset"
/>
<!-- Dynamic Fields. -->
<!-- Joomla_component Field. Type: Joomlacomponents. (custom) -->
<field
type="joomlacomponents"
name="joomla_component"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_JOOMLA_COMPONENT_DESCRIPTION"
class="list_class"
multiple="false"
default=""
required="true"
readonly="true"
button="false"
/>
<!-- Addjoomla_modules Field. Type: Subform. (joomla) -->
<field
type="subform"
name="addjoomla_modules"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES_DESCRIPTION"
default=""
icon="list"
min="1">
<form hidden="true" name="list_addjoomla_modules_modal" repeat="true">
<!-- Module Field. Type: Joomlamodules. (custom) -->
<field
type="joomlamodules"
name="module"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_MODULE_LABEL"
class="list_class span12"
multiple="false"
default="0"
button="false"
/>
<!-- Target Field. Type: List. (joomla) -->
<field
type="list"
name="target"
label="COM_COMPONENTBUILDER_COMPONENT_MODULES_TARGET_LABEL"
description="COM_COMPONENTBUILDER_COMPONENT_MODULES_TARGET_DESCRIPTION"
class="list_class"
multiple="false"
default="0">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_COMPONENT_MODULES_COMPILE_ONLY</option>
<option value="2">
COM_COMPONENTBUILDER_COMPONENT_MODULES_EXPORT_ONLY</option>
<option value="0">
COM_COMPONENTBUILDER_COMPONENT_MODULES_COMPILE_AMP_EXPORT</option>
</field>
</form>
</field>
<!-- Note_on_joomla_modules Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_on_joomla_modules" label="COM_COMPONENTBUILDER_COMPONENT_MODULES_NOTE_ON_JOOMLA_MODULES_LABEL" description="COM_COMPONENTBUILDER_COMPONENT_MODULES_NOTE_ON_JOOMLA_MODULES_DESCRIPTION" heading="h4" class="alert alert-info note_on_joomla_modules" />
</fieldset>
<!-- Access Control Fields. -->
<fieldset name="accesscontrol">
<!-- Asset Id Field. Type: Hidden (joomla) -->
<field
name="asset_id"
type="hidden"
filter="unset"
/>
<!-- Rules Field. Type: Rules (joomla) -->
<field
name="rules"
type="rules"
label="Permissions in relation to this component_modules"
translate_label="false"
filter="rules"
validate="rules"
class="inputbox"
component="com_componentbuilder"
section="component_modules"
/>
</fieldset>
</form>

View File

@ -11,42 +11,42 @@
// Initial Script
jQuery(document).ready(function()
{
var add_php_view_vvvvvzh = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvvzh(add_php_view_vvvvvzh);
var add_php_view_vvvvwad = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvwad(add_php_view_vvvvwad);
var add_php_jview_display_vvvvvzi = jQuery("#jform_add_php_jview_display input[type='radio']:checked").val();
vvvvvzi(add_php_jview_display_vvvvvzi);
var add_php_jview_display_vvvvwae = jQuery("#jform_add_php_jview_display input[type='radio']:checked").val();
vvvvwae(add_php_jview_display_vvvvwae);
var add_php_jview_vvvvvzj = jQuery("#jform_add_php_jview input[type='radio']:checked").val();
vvvvvzj(add_php_jview_vvvvvzj);
var add_php_jview_vvvvwaf = jQuery("#jform_add_php_jview input[type='radio']:checked").val();
vvvvwaf(add_php_jview_vvvvwaf);
var add_php_document_vvvvvzk = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvvzk(add_php_document_vvvvvzk);
var add_php_document_vvvvwag = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvwag(add_php_document_vvvvwag);
var add_css_document_vvvvvzl = jQuery("#jform_add_css_document input[type='radio']:checked").val();
vvvvvzl(add_css_document_vvvvvzl);
var add_css_document_vvvvwah = jQuery("#jform_add_css_document input[type='radio']:checked").val();
vvvvwah(add_css_document_vvvvwah);
var add_javascript_file_vvvvvzm = jQuery("#jform_add_javascript_file input[type='radio']:checked").val();
vvvvvzm(add_javascript_file_vvvvvzm);
var add_javascript_file_vvvvwai = jQuery("#jform_add_javascript_file input[type='radio']:checked").val();
vvvvwai(add_javascript_file_vvvvwai);
var add_js_document_vvvvvzn = jQuery("#jform_add_js_document input[type='radio']:checked").val();
vvvvvzn(add_js_document_vvvvvzn);
var add_js_document_vvvvwaj = jQuery("#jform_add_js_document input[type='radio']:checked").val();
vvvvwaj(add_js_document_vvvvwaj);
var add_custom_button_vvvvvzo = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvvzo(add_custom_button_vvvvvzo);
var add_custom_button_vvvvwak = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvwak(add_custom_button_vvvvwak);
var add_css_vvvvvzp = jQuery("#jform_add_css input[type='radio']:checked").val();
vvvvvzp(add_css_vvvvvzp);
var add_css_vvvvwal = jQuery("#jform_add_css input[type='radio']:checked").val();
vvvvwal(add_css_vvvvwal);
var add_php_ajax_vvvvvzq = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvvzq(add_php_ajax_vvvvvzq);
var add_php_ajax_vvvvwam = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvwam(add_php_ajax_vvvvwam);
});
// the vvvvvzh function
function vvvvvzh(add_php_view_vvvvvzh)
// the vvvvwad function
function vvvvwad(add_php_view_vvvvwad)
{
// set the function logic
if (add_php_view_vvvvvzh == 1)
if (add_php_view_vvvvwad == 1)
{
jQuery('#jform_php_view-lbl').closest('.control-group').show();
}
@ -56,11 +56,11 @@ function vvvvvzh(add_php_view_vvvvvzh)
}
}
// the vvvvvzi function
function vvvvvzi(add_php_jview_display_vvvvvzi)
// the vvvvwae function
function vvvvwae(add_php_jview_display_vvvvwae)
{
// set the function logic
if (add_php_jview_display_vvvvvzi == 1)
if (add_php_jview_display_vvvvwae == 1)
{
jQuery('#jform_php_jview_display-lbl').closest('.control-group').show();
}
@ -70,11 +70,11 @@ function vvvvvzi(add_php_jview_display_vvvvvzi)
}
}
// the vvvvvzj function
function vvvvvzj(add_php_jview_vvvvvzj)
// the vvvvwaf function
function vvvvwaf(add_php_jview_vvvvwaf)
{
// set the function logic
if (add_php_jview_vvvvvzj == 1)
if (add_php_jview_vvvvwaf == 1)
{
jQuery('#jform_php_jview-lbl').closest('.control-group').show();
}
@ -84,11 +84,11 @@ function vvvvvzj(add_php_jview_vvvvvzj)
}
}
// the vvvvvzk function
function vvvvvzk(add_php_document_vvvvvzk)
// the vvvvwag function
function vvvvwag(add_php_document_vvvvwag)
{
// set the function logic
if (add_php_document_vvvvvzk == 1)
if (add_php_document_vvvvwag == 1)
{
jQuery('#jform_php_document-lbl').closest('.control-group').show();
}
@ -98,11 +98,11 @@ function vvvvvzk(add_php_document_vvvvvzk)
}
}
// the vvvvvzl function
function vvvvvzl(add_css_document_vvvvvzl)
// the vvvvwah function
function vvvvwah(add_css_document_vvvvwah)
{
// set the function logic
if (add_css_document_vvvvvzl == 1)
if (add_css_document_vvvvwah == 1)
{
jQuery('#jform_css_document-lbl').closest('.control-group').show();
}
@ -112,11 +112,11 @@ function vvvvvzl(add_css_document_vvvvvzl)
}
}
// the vvvvvzm function
function vvvvvzm(add_javascript_file_vvvvvzm)
// the vvvvwai function
function vvvvwai(add_javascript_file_vvvvwai)
{
// set the function logic
if (add_javascript_file_vvvvvzm == 1)
if (add_javascript_file_vvvvwai == 1)
{
jQuery('#jform_javascript_file-lbl').closest('.control-group').show();
}
@ -126,11 +126,11 @@ function vvvvvzm(add_javascript_file_vvvvvzm)
}
}
// the vvvvvzn function
function vvvvvzn(add_js_document_vvvvvzn)
// the vvvvwaj function
function vvvvwaj(add_js_document_vvvvwaj)
{
// set the function logic
if (add_js_document_vvvvvzn == 1)
if (add_js_document_vvvvwaj == 1)
{
jQuery('#jform_js_document-lbl').closest('.control-group').show();
}
@ -140,11 +140,11 @@ function vvvvvzn(add_js_document_vvvvvzn)
}
}
// the vvvvvzo function
function vvvvvzo(add_custom_button_vvvvvzo)
// the vvvvwak function
function vvvvwak(add_custom_button_vvvvwak)
{
// set the function logic
if (add_custom_button_vvvvvzo == 1)
if (add_custom_button_vvvvwak == 1)
{
jQuery('#jform_custom_button-lbl').closest('.control-group').show();
jQuery('#jform_php_controller-lbl').closest('.control-group').show();
@ -158,11 +158,11 @@ function vvvvvzo(add_custom_button_vvvvvzo)
}
}
// the vvvvvzp function
function vvvvvzp(add_css_vvvvvzp)
// the vvvvwal function
function vvvvwal(add_css_vvvvwal)
{
// set the function logic
if (add_css_vvvvvzp == 1)
if (add_css_vvvvwal == 1)
{
jQuery('#jform_css-lbl').closest('.control-group').show();
}
@ -172,11 +172,11 @@ function vvvvvzp(add_css_vvvvvzp)
}
}
// the vvvvvzq function
function vvvvvzq(add_php_ajax_vvvvvzq)
// the vvvvwam function
function vvvvwam(add_php_ajax_vvvvwam)
{
// set the function logic
if (add_php_ajax_vvvvvzq == 1)
if (add_php_ajax_vvvvwam == 1)
{
jQuery('#jform_ajax_input-lbl').closest('.control-group').show();
jQuery('#jform_php_ajaxmethod-lbl').closest('.control-group').show();
@ -206,10 +206,10 @@ jQuery(document).ready(function()
getEditCustomCodeButtons();
});
function getLinked_server(type){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && type > 0){
var request = token+'=1&type='+type;
function getCodeFrom_server(id, type, type_name, callingName){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax." + callingName + "&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0 && type.length > 0) {
var request = token + '=1&' + type_name + '=' + type + '&id=' + id;
}
return jQuery.ajax({
type: 'GET',
@ -220,30 +220,17 @@ function getLinked_server(type){
});
}
function getLinked(){
getLinked_server(1).done(function(result) {
getCodeFrom_server(1, 'type', 'type', 'getLinked').done(function(result) {
if(result){
jQuery('#display_linked_to').html(result);
}
});
}
function getSnippetDetails_server(snippetId){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json");
if(token.length > 0 && snippetId > 0){
var request = token+'=1&id='+snippetId;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getSnippetDetails(id){
getSnippetDetails_server(id).done(function(result) {
getCodeFrom_server(id, '_type', '_type', 'snippetDetails').done(function(result) {
if(result.snippet){
var description = '';
if (result.description.length > 0) {
@ -330,22 +317,8 @@ function getLayoutDetails(id){
})
}
function getTemplateDetails_server(id){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.templateDetails&format=json&vdm="+vastDevMod);
if(token.length > 0 && id > 0){
var request = token+'=1&id='+id;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getTemplateDetails(id){
getTemplateDetails_server(id).done(function(result) {
getCodeFrom_server(id, 'type', 'type', 'templateDetails').done(function(result) {
if(result){
jQuery('#details').append(result);
// make sure the code bocks are active
@ -373,28 +346,15 @@ jQuery(document).ready(function($)
getSnippets();
});
function getSnippets_server(libraries){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getSnippets&raw=true&format=json";
if(token.length > 0 && libraries.length > 0){
var request = token+'=1&libraries='+JSON.stringify(libraries);
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function getSnippets(){
jQuery("#loading").show();
// clear the selection
jQuery('#jform_snippet').find('option').remove().end();
jQuery('#jform_snippet').trigger('liszt:updated');
// get country value if set
// get libraries value if set
var libraries = jQuery("#jform_libraries").val();
if (libraries) {
getSnippets_server(libraries).done(function(result) {
getCodeFrom_server(1, JSON.stringify(libraries), 'libraries', 'getSnippets').done(function(result) {
setSnippets(result);
jQuery("#loading").hide();
if (typeof snippetButton !== 'undefined') {

View File

@ -9,44 +9,44 @@
*/
// Some Global Values
jform_vvvvwbfvxd_required = false;
jform_vvvvwbgvxe_required = false;
jform_vvvvwbgvxf_required = false;
jform_vvvvwbgvxg_required = false;
jform_vvvvwcbvxh_required = false;
jform_vvvvwccvxi_required = false;
jform_vvvvwccvxj_required = false;
jform_vvvvwccvxk_required = false;
// Initial Script
jQuery(document).ready(function()
{
var target_vvvvwbf = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwbf(target_vvvvwbf);
var target_vvvvwcb = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwcb(target_vvvvwcb);
var target_vvvvwbg = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwbg(target_vvvvwbg);
var target_vvvvwcc = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwcc(target_vvvvwcc);
var target_vvvvwbh = jQuery("#jform_target input[type='radio']:checked").val();
var type_vvvvwbh = jQuery("#jform_type input[type='radio']:checked").val();
vvvvwbh(target_vvvvwbh,type_vvvvwbh);
var target_vvvvwcd = jQuery("#jform_target input[type='radio']:checked").val();
var type_vvvvwcd = jQuery("#jform_type input[type='radio']:checked").val();
vvvvwcd(target_vvvvwcd,type_vvvvwcd);
var type_vvvvwbi = jQuery("#jform_type input[type='radio']:checked").val();
var target_vvvvwbi = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwbi(type_vvvvwbi,target_vvvvwbi);
var type_vvvvwce = jQuery("#jform_type input[type='radio']:checked").val();
var target_vvvvwce = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwce(type_vvvvwce,target_vvvvwce);
});
// the vvvvwbf function
function vvvvwbf(target_vvvvwbf)
// the vvvvwcb function
function vvvvwcb(target_vvvvwcb)
{
// set the function logic
if (target_vvvvwbf == 2)
if (target_vvvvwcb == 2)
{
jQuery('#jform_function_name').closest('.control-group').show();
// add required attribute to function_name field
if (jform_vvvvwbfvxd_required)
if (jform_vvvvwcbvxh_required)
{
updateFieldRequired('function_name',0);
jQuery('#jform_function_name').prop('required','required');
jQuery('#jform_function_name').attr('aria-required',true);
jQuery('#jform_function_name').addClass('required');
jform_vvvvwbfvxd_required = false;
jform_vvvvwcbvxh_required = false;
}
jQuery('.note_jcb_placeholder').closest('.control-group').show();
jQuery('#jform_system_name').closest('.control-group').show();
@ -55,102 +55,102 @@ function vvvvwbf(target_vvvvwbf)
{
jQuery('#jform_function_name').closest('.control-group').hide();
// remove required attribute from function_name field
if (!jform_vvvvwbfvxd_required)
if (!jform_vvvvwcbvxh_required)
{
updateFieldRequired('function_name',1);
jQuery('#jform_function_name').removeAttr('required');
jQuery('#jform_function_name').removeAttr('aria-required');
jQuery('#jform_function_name').removeClass('required');
jform_vvvvwbfvxd_required = true;
jform_vvvvwcbvxh_required = true;
}
jQuery('.note_jcb_placeholder').closest('.control-group').hide();
jQuery('#jform_system_name').closest('.control-group').hide();
}
}
// the vvvvwbg function
function vvvvwbg(target_vvvvwbg)
// the vvvvwcc function
function vvvvwcc(target_vvvvwcc)
{
// set the function logic
if (target_vvvvwbg == 1)
if (target_vvvvwcc == 1)
{
jQuery('#jform_component').closest('.control-group').show();
// add required attribute to component field
if (jform_vvvvwbgvxe_required)
if (jform_vvvvwccvxi_required)
{
updateFieldRequired('component',0);
jQuery('#jform_component').prop('required','required');
jQuery('#jform_component').attr('aria-required',true);
jQuery('#jform_component').addClass('required');
jform_vvvvwbgvxe_required = false;
jform_vvvvwccvxi_required = false;
}
jQuery('#jform_path').closest('.control-group').show();
// add required attribute to path field
if (jform_vvvvwbgvxf_required)
if (jform_vvvvwccvxj_required)
{
updateFieldRequired('path',0);
jQuery('#jform_path').prop('required','required');
jQuery('#jform_path').attr('aria-required',true);
jQuery('#jform_path').addClass('required');
jform_vvvvwbgvxf_required = false;
jform_vvvvwccvxj_required = false;
}
jQuery('#jform_from_line').closest('.control-group').show();
jQuery('#jform_hashtarget').closest('.control-group').show();
jQuery('#jform_to_line').closest('.control-group').show();
jQuery('#jform_type').closest('.control-group').show();
// add required attribute to type field
if (jform_vvvvwbgvxg_required)
if (jform_vvvvwccvxk_required)
{
updateFieldRequired('type',0);
jQuery('#jform_type').prop('required','required');
jQuery('#jform_type').attr('aria-required',true);
jQuery('#jform_type').addClass('required');
jform_vvvvwbgvxg_required = false;
jform_vvvvwccvxk_required = false;
}
}
else
{
jQuery('#jform_component').closest('.control-group').hide();
// remove required attribute from component field
if (!jform_vvvvwbgvxe_required)
if (!jform_vvvvwccvxi_required)
{
updateFieldRequired('component',1);
jQuery('#jform_component').removeAttr('required');
jQuery('#jform_component').removeAttr('aria-required');
jQuery('#jform_component').removeClass('required');
jform_vvvvwbgvxe_required = true;
jform_vvvvwccvxi_required = true;
}
jQuery('#jform_path').closest('.control-group').hide();
// remove required attribute from path field
if (!jform_vvvvwbgvxf_required)
if (!jform_vvvvwccvxj_required)
{
updateFieldRequired('path',1);
jQuery('#jform_path').removeAttr('required');
jQuery('#jform_path').removeAttr('aria-required');
jQuery('#jform_path').removeClass('required');
jform_vvvvwbgvxf_required = true;
jform_vvvvwccvxj_required = true;
}
jQuery('#jform_from_line').closest('.control-group').hide();
jQuery('#jform_hashtarget').closest('.control-group').hide();
jQuery('#jform_to_line').closest('.control-group').hide();
jQuery('#jform_type').closest('.control-group').hide();
// remove required attribute from type field
if (!jform_vvvvwbgvxg_required)
if (!jform_vvvvwccvxk_required)
{
updateFieldRequired('type',1);
jQuery('#jform_type').removeAttr('required');
jQuery('#jform_type').removeAttr('aria-required');
jQuery('#jform_type').removeClass('required');
jform_vvvvwbgvxg_required = true;
jform_vvvvwccvxk_required = true;
}
}
}
// the vvvvwbh function
function vvvvwbh(target_vvvvwbh,type_vvvvwbh)
// the vvvvwcd function
function vvvvwcd(target_vvvvwcd,type_vvvvwcd)
{
// set the function logic
if (target_vvvvwbh == 1 && type_vvvvwbh == 1)
if (target_vvvvwcd == 1 && type_vvvvwcd == 1)
{
jQuery('#jform_hashendtarget').closest('.control-group').show();
jQuery('#jform_to_line').closest('.control-group').show();
@ -162,11 +162,11 @@ function vvvvwbh(target_vvvvwbh,type_vvvvwbh)
}
}
// the vvvvwbi function
function vvvvwbi(type_vvvvwbi,target_vvvvwbi)
// the vvvvwce function
function vvvvwce(type_vvvvwce,target_vvvvwce)
{
// set the function logic
if (type_vvvvwbi == 1 && target_vvvvwbi == 1)
if (type_vvvvwce == 1 && target_vvvvwce == 1)
{
jQuery('#jform_hashendtarget').closest('.control-group').show();
jQuery('#jform_to_line').closest('.control-group').show();
@ -313,8 +313,8 @@ function usedin(functioName, ide) {
jQuery('#note-usedin-not').hide();
jQuery('#note-usedin-found').hide();
jQuery('#loading-usedin').show();
var targets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t']; // if you update this, also update (below 19) & [customcode-codeUsedInHtmlNote]!
var targetNumber = 19;
var targets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u']; // if you update this, also update (below 20) & [customcode-codeUsedInHtmlNote]!
var targetNumber = 20;
var run = 0;
var usedinChecker = setInterval(function(){
var target = targets[run];

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -9,112 +9,112 @@
*/
// Some Global Values
jform_vvvvwdovyt_required = false;
jform_vvvvwdpvyu_required = false;
jform_vvvvwdqvyv_required = false;
jform_vvvvwdrvyw_required = false;
jform_vvvvwdtvyx_required = false;
jform_vvvvwekvyx_required = false;
jform_vvvvwelvyy_required = false;
jform_vvvvwemvyz_required = false;
jform_vvvvwenvza_required = false;
jform_vvvvwepvzb_required = false;
// Initial Script
jQuery(document).ready(function()
{
var location_vvvvwdo = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwdo(location_vvvvwdo);
var location_vvvvwek = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwek(location_vvvvwek);
var location_vvvvwdp = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwdp(location_vvvvwdp);
var location_vvvvwel = jQuery("#jform_location input[type='radio']:checked").val();
vvvvwel(location_vvvvwel);
var type_vvvvwdq = jQuery("#jform_type").val();
vvvvwdq(type_vvvvwdq);
var type_vvvvwem = jQuery("#jform_type").val();
vvvvwem(type_vvvvwem);
var type_vvvvwdr = jQuery("#jform_type").val();
vvvvwdr(type_vvvvwdr);
var type_vvvvwen = jQuery("#jform_type").val();
vvvvwen(type_vvvvwen);
var type_vvvvwds = jQuery("#jform_type").val();
vvvvwds(type_vvvvwds);
var type_vvvvweo = jQuery("#jform_type").val();
vvvvweo(type_vvvvweo);
var target_vvvvwdt = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwdt(target_vvvvwdt);
var target_vvvvwep = jQuery("#jform_target input[type='radio']:checked").val();
vvvvwep(target_vvvvwep);
});
// the vvvvwdo function
function vvvvwdo(location_vvvvwdo)
// the vvvvwek function
function vvvvwek(location_vvvvwek)
{
// set the function logic
if (location_vvvvwdo == 1)
if (location_vvvvwek == 1)
{
jQuery('#jform_admin_view').closest('.control-group').show();
// add required attribute to admin_view field
if (jform_vvvvwdovyt_required)
if (jform_vvvvwekvyx_required)
{
updateFieldRequired('admin_view',0);
jQuery('#jform_admin_view').prop('required','required');
jQuery('#jform_admin_view').attr('aria-required',true);
jQuery('#jform_admin_view').addClass('required');
jform_vvvvwdovyt_required = false;
jform_vvvvwekvyx_required = false;
}
}
else
{
jQuery('#jform_admin_view').closest('.control-group').hide();
// remove required attribute from admin_view field
if (!jform_vvvvwdovyt_required)
if (!jform_vvvvwekvyx_required)
{
updateFieldRequired('admin_view',1);
jQuery('#jform_admin_view').removeAttr('required');
jQuery('#jform_admin_view').removeAttr('aria-required');
jQuery('#jform_admin_view').removeClass('required');
jform_vvvvwdovyt_required = true;
jform_vvvvwekvyx_required = true;
}
}
}
// the vvvvwdp function
function vvvvwdp(location_vvvvwdp)
// the vvvvwel function
function vvvvwel(location_vvvvwel)
{
// set the function logic
if (location_vvvvwdp == 2)
if (location_vvvvwel == 2)
{
jQuery('#jform_site_view').closest('.control-group').show();
// add required attribute to site_view field
if (jform_vvvvwdpvyu_required)
if (jform_vvvvwelvyy_required)
{
updateFieldRequired('site_view',0);
jQuery('#jform_site_view').prop('required','required');
jQuery('#jform_site_view').attr('aria-required',true);
jQuery('#jform_site_view').addClass('required');
jform_vvvvwdpvyu_required = false;
jform_vvvvwelvyy_required = false;
}
}
else
{
jQuery('#jform_site_view').closest('.control-group').hide();
// remove required attribute from site_view field
if (!jform_vvvvwdpvyu_required)
if (!jform_vvvvwelvyy_required)
{
updateFieldRequired('site_view',1);
jQuery('#jform_site_view').removeAttr('required');
jQuery('#jform_site_view').removeAttr('aria-required');
jQuery('#jform_site_view').removeClass('required');
jform_vvvvwdpvyu_required = true;
jform_vvvvwelvyy_required = true;
}
}
}
// the vvvvwdq function
function vvvvwdq(type_vvvvwdq)
// the vvvvwem function
function vvvvwem(type_vvvvwem)
{
if (isSet(type_vvvvwdq) && type_vvvvwdq.constructor !== Array)
if (isSet(type_vvvvwem) && type_vvvvwem.constructor !== Array)
{
var temp_vvvvwdq = type_vvvvwdq;
var type_vvvvwdq = [];
type_vvvvwdq.push(temp_vvvvwdq);
var temp_vvvvwem = type_vvvvwem;
var type_vvvvwem = [];
type_vvvvwem.push(temp_vvvvwem);
}
else if (!isSet(type_vvvvwdq))
else if (!isSet(type_vvvvwem))
{
var type_vvvvwdq = [];
var type_vvvvwem = [];
}
var type = type_vvvvwdq.some(type_vvvvwdq_SomeFunc);
var type = type_vvvvwem.some(type_vvvvwem_SomeFunc);
// set this function logic
@ -122,55 +122,55 @@ function vvvvwdq(type_vvvvwdq)
{
jQuery('#jform_url').closest('.control-group').show();
// add required attribute to url field
if (jform_vvvvwdqvyv_required)
if (jform_vvvvwemvyz_required)
{
updateFieldRequired('url',0);
jQuery('#jform_url').prop('required','required');
jQuery('#jform_url').attr('aria-required',true);
jQuery('#jform_url').addClass('required');
jform_vvvvwdqvyv_required = false;
jform_vvvvwemvyz_required = false;
}
}
else
{
jQuery('#jform_url').closest('.control-group').hide();
// remove required attribute from url field
if (!jform_vvvvwdqvyv_required)
if (!jform_vvvvwemvyz_required)
{
updateFieldRequired('url',1);
jQuery('#jform_url').removeAttr('required');
jQuery('#jform_url').removeAttr('aria-required');
jQuery('#jform_url').removeClass('required');
jform_vvvvwdqvyv_required = true;
jform_vvvvwemvyz_required = true;
}
}
}
// the vvvvwdq Some function
function type_vvvvwdq_SomeFunc(type_vvvvwdq)
// the vvvvwem Some function
function type_vvvvwem_SomeFunc(type_vvvvwem)
{
// set the function logic
if (type_vvvvwdq == 3)
if (type_vvvvwem == 3)
{
return true;
}
return false;
}
// the vvvvwdr function
function vvvvwdr(type_vvvvwdr)
// the vvvvwen function
function vvvvwen(type_vvvvwen)
{
if (isSet(type_vvvvwdr) && type_vvvvwdr.constructor !== Array)
if (isSet(type_vvvvwen) && type_vvvvwen.constructor !== Array)
{
var temp_vvvvwdr = type_vvvvwdr;
var type_vvvvwdr = [];
type_vvvvwdr.push(temp_vvvvwdr);
var temp_vvvvwen = type_vvvvwen;
var type_vvvvwen = [];
type_vvvvwen.push(temp_vvvvwen);
}
else if (!isSet(type_vvvvwdr))
else if (!isSet(type_vvvvwen))
{
var type_vvvvwdr = [];
var type_vvvvwen = [];
}
var type = type_vvvvwdr.some(type_vvvvwdr_SomeFunc);
var type = type_vvvvwen.some(type_vvvvwen_SomeFunc);
// set this function logic
@ -178,55 +178,55 @@ function vvvvwdr(type_vvvvwdr)
{
jQuery('#jform_article').closest('.control-group').show();
// add required attribute to article field
if (jform_vvvvwdrvyw_required)
if (jform_vvvvwenvza_required)
{
updateFieldRequired('article',0);
jQuery('#jform_article').prop('required','required');
jQuery('#jform_article').attr('aria-required',true);
jQuery('#jform_article').addClass('required');
jform_vvvvwdrvyw_required = false;
jform_vvvvwenvza_required = false;
}
}
else
{
jQuery('#jform_article').closest('.control-group').hide();
// remove required attribute from article field
if (!jform_vvvvwdrvyw_required)
if (!jform_vvvvwenvza_required)
{
updateFieldRequired('article',1);
jQuery('#jform_article').removeAttr('required');
jQuery('#jform_article').removeAttr('aria-required');
jQuery('#jform_article').removeClass('required');
jform_vvvvwdrvyw_required = true;
jform_vvvvwenvza_required = true;
}
}
}
// the vvvvwdr Some function
function type_vvvvwdr_SomeFunc(type_vvvvwdr)
// the vvvvwen Some function
function type_vvvvwen_SomeFunc(type_vvvvwen)
{
// set the function logic
if (type_vvvvwdr == 1)
if (type_vvvvwen == 1)
{
return true;
}
return false;
}
// the vvvvwds function
function vvvvwds(type_vvvvwds)
// the vvvvweo function
function vvvvweo(type_vvvvweo)
{
if (isSet(type_vvvvwds) && type_vvvvwds.constructor !== Array)
if (isSet(type_vvvvweo) && type_vvvvweo.constructor !== Array)
{
var temp_vvvvwds = type_vvvvwds;
var type_vvvvwds = [];
type_vvvvwds.push(temp_vvvvwds);
var temp_vvvvweo = type_vvvvweo;
var type_vvvvweo = [];
type_vvvvweo.push(temp_vvvvweo);
}
else if (!isSet(type_vvvvwds))
else if (!isSet(type_vvvvweo))
{
var type_vvvvwds = [];
var type_vvvvweo = [];
}
var type = type_vvvvwds.some(type_vvvvwds_SomeFunc);
var type = type_vvvvweo.some(type_vvvvweo_SomeFunc);
// set this function logic
@ -240,45 +240,45 @@ function vvvvwds(type_vvvvwds)
}
}
// the vvvvwds Some function
function type_vvvvwds_SomeFunc(type_vvvvwds)
// the vvvvweo Some function
function type_vvvvweo_SomeFunc(type_vvvvweo)
{
// set the function logic
if (type_vvvvwds == 2)
if (type_vvvvweo == 2)
{
return true;
}
return false;
}
// the vvvvwdt function
function vvvvwdt(target_vvvvwdt)
// the vvvvwep function
function vvvvwep(target_vvvvwep)
{
// set the function logic
if (target_vvvvwdt == 1)
if (target_vvvvwep == 1)
{
jQuery('#jform_groups').closest('.control-group').show();
// add required attribute to groups field
if (jform_vvvvwdtvyx_required)
if (jform_vvvvwepvzb_required)
{
updateFieldRequired('groups',0);
jQuery('#jform_groups').prop('required','required');
jQuery('#jform_groups').attr('aria-required',true);
jQuery('#jform_groups').addClass('required');
jform_vvvvwdtvyx_required = false;
jform_vvvvwepvzb_required = false;
}
}
else
{
jQuery('#jform_groups').closest('.control-group').hide();
// remove required attribute from groups field
if (!jform_vvvvwdtvyx_required)
if (!jform_vvvvwepvzb_required)
{
updateFieldRequired('groups',1);
jQuery('#jform_groups').removeAttr('required');
jQuery('#jform_groups').removeAttr('aria-required');
jQuery('#jform_groups').removeClass('required');
jform_vvvvwdtvyx_required = true;
jform_vvvvwepvzb_required = true;
}
}
}

View File

@ -0,0 +1,801 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// Some Global Values
jform_vvvvvxcvwd_required = false;
jform_vvvvvxrvwe_required = false;
jform_vvvvvxsvwf_required = false;
jform_vvvvvxtvwg_required = false;
// Initial Script
jQuery(document).ready(function()
{
var add_class_helper_vvvvvxb = jQuery("#jform_add_class_helper").val();
vvvvvxb(add_class_helper_vvvvvxb);
var add_class_helper_header_vvvvvxc = jQuery("#jform_add_class_helper_header input[type='radio']:checked").val();
var add_class_helper_vvvvvxc = jQuery("#jform_add_class_helper").val();
vvvvvxc(add_class_helper_header_vvvvvxc,add_class_helper_vvvvvxc);
var add_php_script_construct_vvvvvxe = jQuery("#jform_add_php_script_construct input[type='radio']:checked").val();
vvvvvxe(add_php_script_construct_vvvvvxe);
var add_php_preflight_install_vvvvvxf = jQuery("#jform_add_php_preflight_install input[type='radio']:checked").val();
vvvvvxf(add_php_preflight_install_vvvvvxf);
var add_php_preflight_update_vvvvvxg = jQuery("#jform_add_php_preflight_update input[type='radio']:checked").val();
vvvvvxg(add_php_preflight_update_vvvvvxg);
var add_php_preflight_uninstall_vvvvvxh = jQuery("#jform_add_php_preflight_uninstall input[type='radio']:checked").val();
vvvvvxh(add_php_preflight_uninstall_vvvvvxh);
var add_php_postflight_install_vvvvvxi = jQuery("#jform_add_php_postflight_install input[type='radio']:checked").val();
vvvvvxi(add_php_postflight_install_vvvvvxi);
var add_php_postflight_update_vvvvvxj = jQuery("#jform_add_php_postflight_update input[type='radio']:checked").val();
vvvvvxj(add_php_postflight_update_vvvvvxj);
var add_php_method_uninstall_vvvvvxk = jQuery("#jform_add_php_method_uninstall input[type='radio']:checked").val();
vvvvvxk(add_php_method_uninstall_vvvvvxk);
var update_server_target_vvvvvxl = jQuery("#jform_update_server_target input[type='radio']:checked").val();
var add_update_server_vvvvvxl = jQuery("#jform_add_update_server input[type='radio']:checked").val();
vvvvvxl(update_server_target_vvvvvxl,add_update_server_vvvvvxl);
var add_update_server_vvvvvxm = jQuery("#jform_add_update_server input[type='radio']:checked").val();
var update_server_target_vvvvvxm = jQuery("#jform_update_server_target input[type='radio']:checked").val();
vvvvvxm(add_update_server_vvvvvxm,update_server_target_vvvvvxm);
var update_server_target_vvvvvxn = jQuery("#jform_update_server_target input[type='radio']:checked").val();
var add_update_server_vvvvvxn = jQuery("#jform_add_update_server input[type='radio']:checked").val();
vvvvvxn(update_server_target_vvvvvxn,add_update_server_vvvvvxn);
var update_server_target_vvvvvxp = jQuery("#jform_update_server_target input[type='radio']:checked").val();
var add_update_server_vvvvvxp = jQuery("#jform_add_update_server input[type='radio']:checked").val();
vvvvvxp(update_server_target_vvvvvxp,add_update_server_vvvvvxp);
var add_update_server_vvvvvxr = jQuery("#jform_add_update_server input[type='radio']:checked").val();
vvvvvxr(add_update_server_vvvvvxr);
var add_sql_vvvvvxs = jQuery("#jform_add_sql input[type='radio']:checked").val();
vvvvvxs(add_sql_vvvvvxs);
var add_sql_uninstall_vvvvvxt = jQuery("#jform_add_sql_uninstall input[type='radio']:checked").val();
vvvvvxt(add_sql_uninstall_vvvvvxt);
var add_update_server_vvvvvxu = jQuery("#jform_add_update_server input[type='radio']:checked").val();
vvvvvxu(add_update_server_vvvvvxu);
var add_sales_server_vvvvvxv = jQuery("#jform_add_sales_server input[type='radio']:checked").val();
vvvvvxv(add_sales_server_vvvvvxv);
var addreadme_vvvvvxw = jQuery("#jform_addreadme input[type='radio']:checked").val();
vvvvvxw(addreadme_vvvvvxw);
});
// the vvvvvxb function
function vvvvvxb(add_class_helper_vvvvvxb)
{
if (isSet(add_class_helper_vvvvvxb) && add_class_helper_vvvvvxb.constructor !== Array)
{
var temp_vvvvvxb = add_class_helper_vvvvvxb;
var add_class_helper_vvvvvxb = [];
add_class_helper_vvvvvxb.push(temp_vvvvvxb);
}
else if (!isSet(add_class_helper_vvvvvxb))
{
var add_class_helper_vvvvvxb = [];
}
var add_class_helper = add_class_helper_vvvvvxb.some(add_class_helper_vvvvvxb_SomeFunc);
// set this function logic
if (add_class_helper)
{
jQuery('#jform_add_class_helper_header').closest('.control-group').show();
jQuery('#jform_class_helper_code-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_add_class_helper_header').closest('.control-group').hide();
jQuery('#jform_class_helper_code-lbl').closest('.control-group').hide();
}
}
// the vvvvvxb Some function
function add_class_helper_vvvvvxb_SomeFunc(add_class_helper_vvvvvxb)
{
// set the function logic
if (add_class_helper_vvvvvxb == 1 || add_class_helper_vvvvvxb == 2)
{
return true;
}
return false;
}
// the vvvvvxc function
function vvvvvxc(add_class_helper_header_vvvvvxc,add_class_helper_vvvvvxc)
{
if (isSet(add_class_helper_header_vvvvvxc) && add_class_helper_header_vvvvvxc.constructor !== Array)
{
var temp_vvvvvxc = add_class_helper_header_vvvvvxc;
var add_class_helper_header_vvvvvxc = [];
add_class_helper_header_vvvvvxc.push(temp_vvvvvxc);
}
else if (!isSet(add_class_helper_header_vvvvvxc))
{
var add_class_helper_header_vvvvvxc = [];
}
var add_class_helper_header = add_class_helper_header_vvvvvxc.some(add_class_helper_header_vvvvvxc_SomeFunc);
if (isSet(add_class_helper_vvvvvxc) && add_class_helper_vvvvvxc.constructor !== Array)
{
var temp_vvvvvxc = add_class_helper_vvvvvxc;
var add_class_helper_vvvvvxc = [];
add_class_helper_vvvvvxc.push(temp_vvvvvxc);
}
else if (!isSet(add_class_helper_vvvvvxc))
{
var add_class_helper_vvvvvxc = [];
}
var add_class_helper = add_class_helper_vvvvvxc.some(add_class_helper_vvvvvxc_SomeFunc);
// set this function logic
if (add_class_helper_header && add_class_helper)
{
jQuery('#jform_class_helper_header-lbl').closest('.control-group').show();
// add required attribute to class_helper_header field
if (jform_vvvvvxcvwd_required)
{
updateFieldRequired('class_helper_header',0);
jQuery('#jform_class_helper_header').prop('required','required');
jQuery('#jform_class_helper_header').attr('aria-required',true);
jQuery('#jform_class_helper_header').addClass('required');
jform_vvvvvxcvwd_required = false;
}
}
else
{
jQuery('#jform_class_helper_header-lbl').closest('.control-group').hide();
// remove required attribute from class_helper_header field
if (!jform_vvvvvxcvwd_required)
{
updateFieldRequired('class_helper_header',1);
jQuery('#jform_class_helper_header').removeAttr('required');
jQuery('#jform_class_helper_header').removeAttr('aria-required');
jQuery('#jform_class_helper_header').removeClass('required');
jform_vvvvvxcvwd_required = true;
}
}
}
// the vvvvvxc Some function
function add_class_helper_header_vvvvvxc_SomeFunc(add_class_helper_header_vvvvvxc)
{
// set the function logic
if (add_class_helper_header_vvvvvxc == 1)
{
return true;
}
return false;
}
// the vvvvvxc Some function
function add_class_helper_vvvvvxc_SomeFunc(add_class_helper_vvvvvxc)
{
// set the function logic
if (add_class_helper_vvvvvxc == 1 || add_class_helper_vvvvvxc == 2)
{
return true;
}
return false;
}
// the vvvvvxe function
function vvvvvxe(add_php_script_construct_vvvvvxe)
{
// set the function logic
if (add_php_script_construct_vvvvvxe == 1)
{
jQuery('#jform_php_script_construct-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_php_script_construct-lbl').closest('.control-group').hide();
}
}
// the vvvvvxf function
function vvvvvxf(add_php_preflight_install_vvvvvxf)
{
// set the function logic
if (add_php_preflight_install_vvvvvxf == 1)
{
jQuery('#jform_php_preflight_install-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_php_preflight_install-lbl').closest('.control-group').hide();
}
}
// the vvvvvxg function
function vvvvvxg(add_php_preflight_update_vvvvvxg)
{
// set the function logic
if (add_php_preflight_update_vvvvvxg == 1)
{
jQuery('#jform_php_preflight_update-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_php_preflight_update-lbl').closest('.control-group').hide();
}
}
// the vvvvvxh function
function vvvvvxh(add_php_preflight_uninstall_vvvvvxh)
{
// set the function logic
if (add_php_preflight_uninstall_vvvvvxh == 1)
{
jQuery('#jform_php_preflight_uninstall-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_php_preflight_uninstall-lbl').closest('.control-group').hide();
}
}
// the vvvvvxi function
function vvvvvxi(add_php_postflight_install_vvvvvxi)
{
// set the function logic
if (add_php_postflight_install_vvvvvxi == 1)
{
jQuery('#jform_php_postflight_install-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_php_postflight_install-lbl').closest('.control-group').hide();
}
}
// the vvvvvxj function
function vvvvvxj(add_php_postflight_update_vvvvvxj)
{
// set the function logic
if (add_php_postflight_update_vvvvvxj == 1)
{
jQuery('#jform_php_postflight_update-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_php_postflight_update-lbl').closest('.control-group').hide();
}
}
// the vvvvvxk function
function vvvvvxk(add_php_method_uninstall_vvvvvxk)
{
// set the function logic
if (add_php_method_uninstall_vvvvvxk == 1)
{
jQuery('#jform_php_method_uninstall-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_php_method_uninstall-lbl').closest('.control-group').hide();
}
}
// the vvvvvxl function
function vvvvvxl(update_server_target_vvvvvxl,add_update_server_vvvvvxl)
{
// set the function logic
if (update_server_target_vvvvvxl == 1 && add_update_server_vvvvvxl == 1)
{
jQuery('#jform_update_server').closest('.control-group').show();
jQuery('.note_update_server_note_ftp').closest('.control-group').show();
}
else
{
jQuery('#jform_update_server').closest('.control-group').hide();
jQuery('.note_update_server_note_ftp').closest('.control-group').hide();
}
}
// the vvvvvxm function
function vvvvvxm(add_update_server_vvvvvxm,update_server_target_vvvvvxm)
{
// set the function logic
if (add_update_server_vvvvvxm == 1 && update_server_target_vvvvvxm == 1)
{
jQuery('#jform_update_server').closest('.control-group').show();
jQuery('.note_update_server_note_ftp').closest('.control-group').show();
}
else
{
jQuery('#jform_update_server').closest('.control-group').hide();
jQuery('.note_update_server_note_ftp').closest('.control-group').hide();
}
}
// the vvvvvxn function
function vvvvvxn(update_server_target_vvvvvxn,add_update_server_vvvvvxn)
{
// set the function logic
if (update_server_target_vvvvvxn == 2 && add_update_server_vvvvvxn == 1)
{
jQuery('.note_update_server_note_zip').closest('.control-group').show();
}
else
{
jQuery('.note_update_server_note_zip').closest('.control-group').hide();
}
}
// the vvvvvxp function
function vvvvvxp(update_server_target_vvvvvxp,add_update_server_vvvvvxp)
{
// set the function logic
if (update_server_target_vvvvvxp == 3 && add_update_server_vvvvvxp == 1)
{
jQuery('.note_update_server_note_other').closest('.control-group').show();
}
else
{
jQuery('.note_update_server_note_other').closest('.control-group').hide();
}
}
// the vvvvvxr function
function vvvvvxr(add_update_server_vvvvvxr)
{
// set the function logic
if (add_update_server_vvvvvxr == 1)
{
jQuery('#jform_update_server_target').closest('.control-group').show();
// add required attribute to update_server_target field
if (jform_vvvvvxrvwe_required)
{
updateFieldRequired('update_server_target',0);
jQuery('#jform_update_server_target').prop('required','required');
jQuery('#jform_update_server_target').attr('aria-required',true);
jQuery('#jform_update_server_target').addClass('required');
jform_vvvvvxrvwe_required = false;
}
}
else
{
jQuery('#jform_update_server_target').closest('.control-group').hide();
// remove required attribute from update_server_target field
if (!jform_vvvvvxrvwe_required)
{
updateFieldRequired('update_server_target',1);
jQuery('#jform_update_server_target').removeAttr('required');
jQuery('#jform_update_server_target').removeAttr('aria-required');
jQuery('#jform_update_server_target').removeClass('required');
jform_vvvvvxrvwe_required = true;
}
}
}
// the vvvvvxs function
function vvvvvxs(add_sql_vvvvvxs)
{
// set the function logic
if (add_sql_vvvvvxs == 1)
{
jQuery('#jform_sql').closest('.control-group').show();
// add required attribute to sql field
if (jform_vvvvvxsvwf_required)
{
updateFieldRequired('sql',0);
jQuery('#jform_sql').prop('required','required');
jQuery('#jform_sql').attr('aria-required',true);
jQuery('#jform_sql').addClass('required');
jform_vvvvvxsvwf_required = false;
}
}
else
{
jQuery('#jform_sql').closest('.control-group').hide();
// remove required attribute from sql field
if (!jform_vvvvvxsvwf_required)
{
updateFieldRequired('sql',1);
jQuery('#jform_sql').removeAttr('required');
jQuery('#jform_sql').removeAttr('aria-required');
jQuery('#jform_sql').removeClass('required');
jform_vvvvvxsvwf_required = true;
}
}
}
// the vvvvvxt function
function vvvvvxt(add_sql_uninstall_vvvvvxt)
{
// set the function logic
if (add_sql_uninstall_vvvvvxt == 1)
{
jQuery('#jform_sql_uninstall').closest('.control-group').show();
// add required attribute to sql_uninstall field
if (jform_vvvvvxtvwg_required)
{
updateFieldRequired('sql_uninstall',0);
jQuery('#jform_sql_uninstall').prop('required','required');
jQuery('#jform_sql_uninstall').attr('aria-required',true);
jQuery('#jform_sql_uninstall').addClass('required');
jform_vvvvvxtvwg_required = false;
}
}
else
{
jQuery('#jform_sql_uninstall').closest('.control-group').hide();
// remove required attribute from sql_uninstall field
if (!jform_vvvvvxtvwg_required)
{
updateFieldRequired('sql_uninstall',1);
jQuery('#jform_sql_uninstall').removeAttr('required');
jQuery('#jform_sql_uninstall').removeAttr('aria-required');
jQuery('#jform_sql_uninstall').removeClass('required');
jform_vvvvvxtvwg_required = true;
}
}
}
// the vvvvvxu function
function vvvvvxu(add_update_server_vvvvvxu)
{
// set the function logic
if (add_update_server_vvvvvxu == 1)
{
jQuery('#jform_update_server_url').closest('.control-group').show();
}
else
{
jQuery('#jform_update_server_url').closest('.control-group').hide();
}
}
// the vvvvvxv function
function vvvvvxv(add_sales_server_vvvvvxv)
{
// set the function logic
if (add_sales_server_vvvvvxv == 1)
{
jQuery('#jform_sales_server').closest('.control-group').show();
}
else
{
jQuery('#jform_sales_server').closest('.control-group').hide();
}
}
// the vvvvvxw function
function vvvvvxw(addreadme_vvvvvxw)
{
// set the function logic
if (addreadme_vvvvvxw == 1)
{
jQuery('#jform_readme-lbl').closest('.control-group').show();
}
else
{
jQuery('#jform_readme-lbl').closest('.control-group').hide();
}
}
// update required fields
function updateFieldRequired(name,status)
{
var not_required = jQuery('#jform_not_required').val();
if(status == 1)
{
if (isSet(not_required) && not_required != 0)
{
not_required = not_required+','+name;
}
else
{
not_required = ','+name;
}
}
else
{
if (isSet(not_required) && not_required != 0)
{
not_required = not_required.replace(','+name,'');
}
}
jQuery('#jform_not_required').val(not_required);
}
// the isSet function
function isSet(val)
{
if ((val != undefined) && (val != null) && 0 !== val.length){
return true;
}
return false;
}
jQuery(document).ready(function() {
// get the linked details
getLinked();
// check and load all the customcode edit buttons
setTimeout(getEditCustomCodeButtons, 300);
});
function setModuleCode() {
var selected_get = jQuery("#jform_add_class_helper option:selected").val();
var custom_gets = jQuery("#jform_custom_get").val();
var libraries = jQuery("#jform_libraries").val();
var values = {'class': selected_get, 'get': custom_gets, 'lib': libraries};
var editor_id = 'jform_mod_code';
getCodeFrom_server(1, JSON.stringify(values), 'data', 'getModuleCode').done(function(result) {
if(result.tmpl){
addCodeToEditor(result.tmpl.code, editor_id, result.tmpl.merge, result.tmpl.merge_target);
}
if(result.css){
addCodeToEditor(result.css.code, editor_id, result.css.merge, result.css.merge_target);
}
if(result.class){
addCodeToEditor(result.class.code, editor_id, result.class.merge, result.class.merge_target);
}
if(result.get){
addCodeToEditor(result.get.code, editor_id, result.get.merge, result.get.merge_target);
}
if(result.lib){
addCodeToEditor(result.lib.code, editor_id, result.lib.merge, result.lib.merge_target);
}
});
}
function getLinked(){
getCodeFrom_server(1, 'type', 'type', 'getLinked').done(function(result) {
if(result){
jQuery('#display_linked_to').html(result);
}
});
}
function getCodeFrom_server(id, type, type_name, callingName){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax." + callingName + "&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0 && type.length > 0) {
var request = token + '=1&' + type_name + '=' + type + '&id=' + id;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function addCodeToEditor(code_string, editor_id, merge, merge_target){
if (Joomla.editors.instances.hasOwnProperty(editor_id)) {
var old_code_string = Joomla.editors.instances[editor_id].getValue();
if (merge && old_code_string.length > 0) {
// make sure not to load the same string twice
if (old_code_string.indexOf(code_string) == -1) {
if ('prepend' === merge_target) {
var _string = code_string + "\n\n" + old_code_string;
} else if (merge_target && 'append' !== merge_target) {
var old_code_array = old_code_string.split(merge_target);
if (old_code_array.length > 1) {
var _string = old_code_array.shift() + "\n\n" + code_string + "\n\n" + merge_target + old_code_array.join(merge_target);
} else {
var _string = code_string + "\n\n" + merge_target + old_code_array.join('');
}
} else {
var _string = old_code_string + "\n\n" + code_string;
}
Joomla.editors.instances[editor_id].setValue(_string.trim());
return true;
}
} else {
Joomla.editors.instances[editor_id].setValue(code_string.trim());
return true;
}
} else {
var old_code_string = jQuery('textarea#'+editor_id).val();
if (merge && old_code_string.length > 0) {
// make sure not to load the same string twice
if (old_code_string.indexOf(code_string) == -1) {
if ('prepend' === merge_target) {
var _string = code_string + "\n\n" + old_code_string;
} else if (merge_target && 'append' !== merge_target) {
var old_code_array = old_code_string.split(merge_target);
if (old_code_array.length > 1) {
var _string = old_code_array.shift() + "\n\n" + code_string + "\n\n" + merge_target + old_code_array.join(merge_target);
} else {
var _string = code_string + "\n\n" + merge_target + old_code_array.join('');
}
} else {
var _string = old_code_string + "\n\n" + code_string;
}
jQuery('textarea#'+editor_id).val(_string.trim());
return true;
}
} else {
jQuery('textarea#'+editor_id).val(code_string.trim());
return true;
}
}
return false;
}
function removeCodeFromEditor(code_string, editor_id){
if (Joomla.editors.instances.hasOwnProperty(editor_id)) {
var old_code_string = Joomla.editors.instances[editor_id].getValue();
if (old_code_string.length > 0) {
// make sure string is found
if (old_code_string.indexOf(code_string) !== -1) {
// remove the code
Joomla.editors.instances[editor_id].setValue(old_code_string.replace(code_string+"\n\n",'').replace("\n\n"+code_string,'').replace(code_string,''));
return true;
}
}
} else {
var old_code_string = jQuery('textarea#'+editor_id).val();
if (old_code_string.length > 0) {
// make sure string is found
if (old_code_string.indexOf(code_string) !== -1) {
// remove the code
jQuery('textarea#'+editor_id).val(old_code_string.replace(code_string+"\n\n",'').replace("\n\n"+code_string,'').replace(code_string,''));
return true;
}
}
}
return false;
}
function getEditCustomCodeButtons_server(id){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0){
var request = token+'=1&id='+id+'&return_here='+return_here;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function getEditCustomCodeButtons(){
// get the id
id = jQuery("#jform_id").val();
getEditCustomCodeButtons_server(id).done(function(result) {
if(isObject(result)){
jQuery.each(result, function( field, buttons ) {
jQuery('<div class="control-group"><div class="control-label"><label>Add/Edit Customcode</label></div><div class="controls control-customcode-buttons-'+field+'"></div></div>').insertBefore(".control-wrapper-"+ field);
jQuery.each(buttons, function( name, button ) {
jQuery(".control-customcode-buttons-"+field).append(button);
});
});
}
})
}
// check object is not empty
function isObject(obj) {
for(var prop in obj) {
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
return true;
}
}
return false;
}
function getSnippetDetails(id){
getCodeFrom_server(id, '_type', '_type', 'snippetDetails').done(function(result) {
if(result.snippet){
var description = '';
if (result.description.length > 0) {
description = '<p>'+result.description+'</p>';
}
var library = '';
if (result.library.length > 0) {
library = ' <b>('+result.library+')</b>';
}
var code = '<div id="snippet-code"><b>'+result.name+' ('+result.type+')</b> <a href="'+result.url+'" target="_blank" >see more details'+library+'</a><br /><em>'+result.heading+'</em><br /><textarea id="snippet" class="span12" rows="11">'+result.snippet+'</textarea></div>';
jQuery('#snippet-code').remove();
jQuery('.snippet-code').append(code);
// make sure the code block is active
jQuery("#snippet").focus(function() {
var jQuerythis = jQuery(this);
jQuerythis.select();
// Work around Chrome's little problem
jQuerythis.mouseup(function() {
// Prevent further mouseup intervention
jQuerythis.unbind("mouseup");
return false;
});
});
}
if(result.usage){
var usage = '<div id="snippet-usage"><p>'+result.usage+'</p></div>';
jQuery('#snippet-usage').remove();
jQuery('.snippet-usage').append(usage);
}
})
}
// set snippets that are on the page
var snippetIds = [];
var snippets = {};
var snippet = 0;
jQuery(document).ready(function($)
{
jQuery("#jform_snippet option").each(function()
{
var key = jQuery(this).val();
var text = jQuery(this).text();
snippets[key] = text;
snippetIds.push(key);
});
snippet = jQuery("#jform_snippet").val();
getSnippets();
});
function getSnippets(){
jQuery("#loading").show();
// clear the selection
jQuery('#jform_snippet').find('option').remove().end();
jQuery('#jform_snippet').trigger('liszt:updated');
// get libraries value if set
var libraries = jQuery("#jform_libraries").val();
if (libraries) {
getCodeFrom_server(1, JSON.stringify(libraries), 'libraries', 'getSnippets').done(function(result) {
setSnippets(result);
jQuery("#loading").hide();
if (typeof snippetButton !== 'undefined') {
// ensure button is correct
var snippet = jQuery('#jform_snippet').val();
snippetButton(snippet);
}
});
}
else
{
// load all snippets in none is selected
setSnippets(snippetIds);
jQuery("#loading").hide();
}
}
function setSnippets(array){
if (array) {
jQuery('#jform_snippet').append('<option value="">'+select_a_snippet+'</option>');
jQuery.each( array, function( i, id ) {
if (id in snippets) {
jQuery('#jform_snippet').append('<option value="'+id+'">'+snippets[id]+'</option>');
}
if (id == snippet) {
jQuery('#jform_snippet').val(id);
}
});
} else {
jQuery('#jform_snippet').append('<option value="">'+create_a_snippet+'</option>');
}
jQuery('#jform_snippet').trigger('liszt:updated');
}

View File

@ -0,0 +1,827 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addrulepath="/administrator/components/com_componentbuilder/models/rules"
addfieldpath="/administrator/components/com_componentbuilder/models/fields"
>
<fieldset name="details">
<!-- Default Fields. -->
<!-- Id Field. Type: Text (joomla) -->
<field
name="id"
type="text" class="readonly" label="JGLOBAL_FIELD_ID_LABEL"
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
readonly="true"
/>
<!-- Date Created Field. Type: Calendar (joomla) -->
<field
name="created"
type="calendar"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
/>
<!-- User Created Field. Type: User (joomla) -->
<field
name="created_by"
type="user"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CREATED_BY_DESC"
/>
<!-- Published Field. Type: List (joomla) -->
<field name="published" type="list" label="JSTATUS"
description="JFIELD_PUBLISHED_DESC" class="chzn-color-state"
filter="intval" size="1" default="1" >
<option value="1">
JPUBLISHED</option>
<option value="0">
JUNPUBLISHED</option>
<option value="2">
JARCHIVED</option>
<option value="-2">
JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla) -->
<field name="modified" type="calendar" class="readonly"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_DATE_DESC"
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
<!-- User Modified Field. Type: User (joomla) -->
<field name="modified_by" type="user"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset"
/>
<!-- Access Field. Type: Accesslevel (joomla) -->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false"
/>
<!-- Ordering Field. Type: Numbers (joomla) -->
<field
name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false"
/>
<!-- Version Field. Type: Text (joomla) -->
<field
name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_VERSION_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_VERSION_DESC"
size="6"
readonly="true"
filter="unset"
/>
<!-- Dynamic Fields. -->
<!-- System_name Field. Type: Text. (joomla) -->
<field
type="text"
name="system_name"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_SYSTEM_NAME_HINT"
/>
<!-- Description Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="description"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_DESCRIPTION_LABEL"
rows="11"
cols="10"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_DESCRIPTION_DESCRIPTION"
class="text_area span12"
filter="HTML"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_DESCRIPTION_HINT"
/>
<!-- Php_method_uninstall Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_method_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_METHOD_UNINSTALL_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_METHOD_UNINSTALL_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Php_postflight_install Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_postflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_INSTALL_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_INSTALL_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Php_postflight_update Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_UPDATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_POSTFLIGHT_UPDATE_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Php_preflight_update Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_preflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UPDATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UPDATE_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Php_preflight_uninstall Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_preflight_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UNINSTALL_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_UNINSTALL_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Readme Field. Type: Editor. (joomla) -->
<field
type="editor"
name="readme"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_README_LABEL"
default="You can use all the normal markdown, including the place-holders."
width="100%"
height="1200px"
buttons="false"
editor="none"
filter="raw"
/>
<!-- Note_libraries_options Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_libraries_options" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LIBRARIES_OPTIONS_DESCRIPTION" heading="h4" class="alert alert-info note_libraries_options" />
<!-- Note_linked_to_notice Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_linked_to_notice" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LINKED_TO_NOTICE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_LINKED_TO_NOTICE_DESCRIPTION" heading="h4" class="note_linked_to_notice" />
<!-- Not_required Field. Type: Hidden. (joomla) -->
<field
type="hidden"
name="not_required"
default="[]"
/>
<!-- Note_snippet_usage Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_snippet_usage" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_SNIPPET_USAGE_LABEL" heading="h4" class="snippet-usage note_snippet_usage" />
<!-- Default Field. Type: Editor. (joomla) -->
<field
type="editor"
name="default"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_DEFAULT_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_DEFAULT_DESCRIPTION"
width="100%"
height="500px"
cols="15"
rows="30"
buttons="no"
syntax="html"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Note_uikit_snippet Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_uikit_snippet" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UIKIT_SNIPPET_LABEL" heading="h4" class="snippet-code note_uikit_snippet" />
<!-- Snippet Field. Type: Snippets. (custom) -->
<field
type="snippets"
name="snippet"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SNIPPET_DESCRIPTION"
class="list_class"
multiple="false"
required="false"
button="true"
/>
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_language_string" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_language_string" />
<!-- Sql Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="sql"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_HINT"
required="true"
/>
<!-- Note_update_server_note_ftp Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_ftp" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_FTP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_FTP_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_ftp" />
<!-- Sql_uninstall Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="sql_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_UNINSTALL_LABEL"
rows="30"
cols="15"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_UNINSTALL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_SQL_UNINSTALL_HINT"
required="true"
/>
<!-- Add_sales_server Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_sales_server"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SALES_SERVER_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Update_server_url Field. Type: Url. (joomla) -->
<field
type="url"
name="update_server_url"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_DESCRIPTION"
class="text_area span12"
filter="url"
validated="url"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_URL_HINT"
/>
<!-- Libraries Field. Type: Libraries. (custom) -->
<field
type="libraries"
name="libraries"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_LIBRARIES_DESCRIPTION"
class="list_class"
multiple="true"
default="0"
required="false"
button="true"
/>
<!-- Note_update_server_note_other Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_other" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_OTHER_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_OTHER_DESCRIPTION" heading="h4" class="alert alert-success note_update_server_note_other" />
<!-- Module_version Field. Type: Text. (joomla) -->
<field
type="text"
name="module_version"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_LABEL"
size="40"
maxlength="50"
default="1.0.0"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_DESCRIPTION"
class="text_area"
required="true"
filter="CMD"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_VERSION_HINT"
/>
<!-- Custom_get Field. Type: Customgets. (custom) -->
<field
type="customgets"
name="custom_get"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_GET_DESCRIPTION"
multiple="true"
default=""
/>
<!-- Note_mod_file_options Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_mod_file_options" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_MOD_FILE_OPTIONS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_MOD_FILE_OPTIONS_DESCRIPTION" heading="h4" class="alert alert-info note_mod_file_options" />
<!-- Add_php_preflight_uninstall Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_preflight_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_UNINSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Mod_code Field. Type: Editor. (joomla) -->
<field
type="editor"
name="mod_code"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_MOD_CODE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_MOD_CODE_DESCRIPTION"
width="100%"
height="500px"
cols="15"
rows="10"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
required="true"
validate="code"
/>
<!-- Add_php_postflight_install Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_postflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_POSTFLIGHT_INSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Add_class_helper Field. Type: List. (joomla) -->
<field
type="list"
name="add_class_helper"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_DESCRIPTION"
class="list_class"
multiple="false"
required="true"
default="0">
<!-- Option Set. -->
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NONE</option>
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_MODULE_ABSTRACT_CLASS</option>
</field>
<!-- Add_php_postflight_update Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_postflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_POSTFLIGHT_UPDATE_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Add_class_helper_header Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_class_helper_header"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_HEADER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_CLASS_HELPER_HEADER_DESCRIPTION"
class="btn-group btn-group-yesno"
default="0">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Add_php_method_uninstall Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_method_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_METHOD_UNINSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Class_helper_header Field. Type: Editor. (joomla) -->
<field
type="editor"
name="class_helper_header"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_HEADER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_HEADER_DESCRIPTION"
width="100%"
height="100px"
cols="15"
rows="10"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
required="false"
validate="code"
/>
<!-- Add_sql Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_sql"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SQL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Class_helper_code Field. Type: Editor. (joomla) -->
<field
type="editor"
name="class_helper_code"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_CODE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CLASS_HELPER_CODE_DESCRIPTION"
width="100%"
height="800px"
cols="40"
rows="300"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Add_sql_uninstall Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_sql_uninstall"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_SQL_UNINSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Fields Field. Type: Subform. (joomla) -->
<field
type="subform"
name="fields"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_LABEL"
layout="joomla.form.field.subform.repeatable"
multiple="true"
buttons="add,remove,move"
icon="list"
max="10">
<form hidden="true" name="list_fields_modal" repeat="true">
<!-- Module Field. Type: Checkbox. (joomla) -->
<field
type="checkbox"
name="module"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_LABEL"
value="1"
default="1"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE_DESCRIPTION"
class="inputbox"
/>
<!-- File Field. Type: Text. (joomla) -->
<field
type="text"
name="file"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILE_LABEL"
size="10"
maxlength="50"
default="config"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILE_DESCRIPTION"
class="text_area"
filter="WORD"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILE_HINT"
autocomplete="on"
/>
<!-- Fields_name Field. Type: Text. (joomla) -->
<field
type="text"
name="fields_name"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_NAME_LABEL"
size="10"
maxlength="50"
default="params"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_NAME_DESCRIPTION"
class="text_area"
filter="CMD"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_NAME_HINT"
autocomplete="on"
/>
<!-- Fieldset Field. Type: Text. (joomla) -->
<field
type="text"
name="fieldset"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDSET_LABEL"
size="10"
maxlength="50"
default="basic"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDSET_DESCRIPTION"
class="text_area"
filter="WORD"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDSET_HINT"
autocomplete="on"
/>
<!-- Label Field. Type: Text. (joomla) -->
<field
type="text"
name="label"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_LABEL_LABEL"
size="10"
maxlength="50"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_LABEL_DESCRIPTION"
class="text_area"
filter="String"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_LABEL_HINT"
autocomplete="on"
/>
<!-- Fields_rules_paths Field. Type: List. (joomla) -->
<field
type="list"
name="fields_rules_paths"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_RULES_PATHS_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_RULES_PATHS_DESCRIPTION"
class="list_class"
multiple="false"
validate="number"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_COMPONENT</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_MODULE_MODULE</option>
</field>
<!-- Fields Field. Type: Subform. (joomla) -->
<field
type="subform"
name="fields"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
buttons="add,remove,move"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELDS_DESCRIPTION"
icon="list"
max="50"
nested_depth="1">
<form hidden="true" name="list_fields_modal" repeat="true">
<!-- Field Field. Type: Fields. (custom) -->
<field
type="fields"
name="field"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FIELD_DESCRIPTION"
class="list_class fieldFull"
multiple="false"
required="true"
button="false"
/>
<!-- Custom_value Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="custom_value"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_VALUE_LABEL"
rows="2"
cols="4"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_VALUE_DESCRIPTION"
class="text_area"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_CUSTOM_VALUE_HINT"
required="false"
readonly="false"
disabled="false"
/>
</form>
</field>
</form>
</field>
<!-- Addreadme Field. Type: Radio. (joomla) -->
<field
type="radio"
name="addreadme"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADDREADME_LABEL"
class="btn-group btn-group-yesno"
default="0">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Add_php_script_construct Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_script_construct"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_SCRIPT_CONSTRUCT_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Add_update_server Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_update_server"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_UPDATE_SERVER_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Php_script_construct Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_script_construct"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_SCRIPT_CONSTRUCT_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_SCRIPT_CONSTRUCT_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Update_server_target Field. Type: Radio. (joomla) -->
<field
type="radio"
name="update_server_target"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_TARGET_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_TARGET_DESCRIPTION"
class="btn-group btn-group-yesno"
default="1"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_SERVER</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_MODULE_ZIP</option>
<option value="3">
COM_COMPONENTBUILDER_JOOMLA_MODULE_OTHER</option>
</field>
<!-- Add_php_preflight_install Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_preflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_INSTALL_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Note_update_server_note_zip Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_update_server_note_zip" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_ZIP_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NOTE_UPDATE_SERVER_NOTE_ZIP_DESCRIPTION" heading="h4" class="alert alert-info note_update_server_note_zip" />
<!-- Php_preflight_install Field. Type: Editor. (joomla) -->
<field
type="editor"
name="php_preflight_install"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_INSTALL_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_PREFLIGHT_INSTALL_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="php"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Update_server Field. Type: Servers. (custom) -->
<field
type="servers"
name="update_server"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATE_SERVER_DESCRIPTION"
class="list_class"
multiple="false"
default="0"
button="true"
/>
<!-- Add_php_preflight_update Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_preflight_update"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_ADD_PHP_PREFLIGHT_UPDATE_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_YES</option>
<option value="0">
COM_COMPONENTBUILDER_JOOMLA_MODULE_NO</option>
</field>
<!-- Sales_server Field. Type: Servers. (custom) -->
<field
type="servers"
name="sales_server"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_SALES_SERVER_DESCRIPTION"
class="list_class"
multiple="false"
default="0"
button="true"
/>
<!-- Name Field. Type: Text. (joomla) -->
<field
type="text"
name="name"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_NAME_HINT"
/>
</fieldset>
<!-- Access Control Fields. -->
<fieldset name="accesscontrol">
<!-- Asset Id Field. Type: Hidden (joomla) -->
<field
name="asset_id"
type="hidden"
filter="unset"
/>
<!-- Rules Field. Type: Rules (joomla) -->
<field
name="rules"
type="rules"
label="Permissions in relation to this joomla_module"
translate_label="false"
filter="rules"
validate="rules"
class="inputbox"
component="com_componentbuilder"
section="joomla_module"
/>
</fieldset>
</form>

View File

@ -0,0 +1,11 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

View File

@ -0,0 +1,390 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addrulepath="/administrator/components/com_componentbuilder/models/rules"
addfieldpath="/administrator/components/com_componentbuilder/models/fields"
>
<fieldset name="details">
<!-- Default Fields. -->
<!-- Id Field. Type: Text (joomla) -->
<field
name="id"
type="text" class="readonly" label="JGLOBAL_FIELD_ID_LABEL"
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
readonly="true"
/>
<!-- Date Created Field. Type: Calendar (joomla) -->
<field
name="created"
type="calendar"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
/>
<!-- User Created Field. Type: User (joomla) -->
<field
name="created_by"
type="user"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_CREATED_BY_DESC"
/>
<!-- Published Field. Type: List (joomla) -->
<field name="published" type="list" label="JSTATUS"
description="JFIELD_PUBLISHED_DESC" class="chzn-color-state"
filter="intval" size="1" default="1" >
<option value="1">
JPUBLISHED</option>
<option value="0">
JUNPUBLISHED</option>
<option value="2">
JARCHIVED</option>
<option value="-2">
JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla) -->
<field name="modified" type="calendar" class="readonly"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_DATE_DESC"
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
<!-- User Modified Field. Type: User (joomla) -->
<field name="modified_by" type="user"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset"
/>
<!-- Access Field. Type: Accesslevel (joomla) -->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false"
/>
<!-- Ordering Field. Type: Numbers (joomla) -->
<field
name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false"
/>
<!-- Version Field. Type: Text (joomla) -->
<field
name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_VERSION_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_VERSION_DESC"
size="6"
readonly="true"
filter="unset"
/>
<!-- Dynamic Fields. -->
<!-- Joomla_module Field. Type: Joomlamodules. (custom) -->
<field
type="joomlamodules"
name="joomla_module"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_JOOMLA_MODULE_LABEL"
description="JFIELD_TITLE_DESC"
class="list_class span12"
multiple="false"
default="0"
readonly="true"
/>
<!-- Note_constant_paths Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_constant_paths" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_CONSTANT_PATHS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_CONSTANT_PATHS_DESCRIPTION" heading="h4" class="alert alert-info note_constant_paths" />
<!-- Addfoldersfullpath Field. Type: Subform. (joomla) -->
<field
type="subform"
name="addfoldersfullpath"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERSFULLPATH_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERSFULLPATH_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfoldersfullpath_modal" repeat="true">
<!-- Folderpath Field. Type: Text. (joomla) -->
<field
type="text"
name="folderpath"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_LABEL"
size="70"
maxlength="300"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_DESCRIPTION"
class="text_area"
required="false"
filter="PATH"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDERPATH_HINT"
/>
<!-- Path Field. Type: Text. (joomla) -->
<field
type="text"
name="path"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="PATH"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_HINT"
/>
<!-- Rename Field. Type: Checkbox. (joomla) -->
<field
type="checkbox"
name="rename"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_RENAME_LABEL"
value="1"
default=""
class="inputbox"
/>
</form>
</field>
<!-- Note_add_folders_fullpath Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_folders_fullpath" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_FULLPATH_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_FULLPATH_DESCRIPTION" heading="h4" class="alert alert-info note_add_folders_fullpath" />
<!-- Addfilesfullpath Field. Type: Subform. (joomla) -->
<field
type="subform"
name="addfilesfullpath"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILESFULLPATH_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILESFULLPATH_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfilesfullpath_modal" repeat="true">
<!-- Filepath Field. Type: Text. (joomla) -->
<field
type="text"
name="filepath"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_LABEL"
size="70"
maxlength="300"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_DESCRIPTION"
class="text_area"
required="false"
filter="PATH"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILEPATH_HINT"
/>
<!-- Path Field. Type: Text. (joomla) -->
<field
type="text"
name="path"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="PATH"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_HINT"
/>
<!-- Notnew Field. Type: Checkbox. (joomla) -->
<field
type="checkbox"
name="notnew"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTNEW_LABEL"
value="1"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTNEW_DESCRIPTION"
class="inputbox"
/>
</form>
</field>
<!-- Note_add_files_fullpath Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_files_fullpath" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_FULLPATH_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_FULLPATH_DESCRIPTION" heading="h4" class="alert alert-info note_add_files_fullpath" />
<!-- Addfolders Field. Type: Subform. (joomla) -->
<field
type="subform"
name="addfolders"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERS_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFOLDERS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfolders_modal" repeat="true">
<!-- Folder Field. Type: Customfolderlist. (custom) -->
<field
type="customfolderlist"
name="folder"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDER_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FOLDER_DESCRIPTION"
class="list_class"
multiple="false"
default="0"
required="true"
button="false"
/>
<!-- Path Field. Type: Text. (joomla) -->
<field
type="text"
name="path"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="PATH"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_HINT"
/>
<!-- Rename Field. Type: Checkbox. (joomla) -->
<field
type="checkbox"
name="rename"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_RENAME_LABEL"
value="1"
default=""
class="inputbox"
/>
</form>
</field>
<!-- Note_add_folders Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_folders" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FOLDERS_DESCRIPTION" heading="h4" class="alert alert-info note_add_folders" />
<!-- Addfiles Field. Type: Subform. (joomla) -->
<field
type="subform"
name="addfiles"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILES_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDFILES_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addfiles_modal" repeat="true">
<!-- File Field. Type: Customfilelist. (custom) -->
<field
type="customfilelist"
name="file"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_FILE_DESCRIPTION"
class="list_class"
multiple="false"
default="0"
required="true"
button="false"
/>
<!-- Path Field. Type: Text. (joomla) -->
<field
type="text"
name="path"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="PATH"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_PATH_HINT"
/>
<!-- Notnew Field. Type: Checkbox. (joomla) -->
<field
type="checkbox"
name="notnew"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTNEW_LABEL"
value="1"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTNEW_DESCRIPTION"
class="inputbox"
/>
</form>
</field>
<!-- Note_add_files Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_files" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_FILES_DESCRIPTION" heading="h4" class="alert alert-info note_add_files" />
<!-- Addurls Field. Type: Subform. (joomla) -->
<field
type="subform"
name="addurls"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDURLS_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_ADDURLS_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_addurls_modal" repeat="true">
<!-- Url Field. Type: Url. (joomla) -->
<field
type="url"
name="url"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_LABEL"
size="150"
maxlength="250"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_DESCRIPTION"
class="text_area"
required="true"
filter="url"
validated="url"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_URL_HINT"
/>
<!-- Type Field. Type: List. (joomla) -->
<field
type="list"
name="type"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_TYPE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_TYPE_DESCRIPTION"
class="list_class"
multiple="false"
filter="INT"
required="true"
default="1">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_DEFAULT_LINK</option>
<option value="2">
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_LOCAL_GET</option>
<option value="3">
COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_LINK_LOCAL_DYNAMIC</option>
</field>
</form>
</field>
<!-- Note_add_urls Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_urls" label="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_URLS_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_FILES_FOLDERS_URLS_NOTE_ADD_URLS_DESCRIPTION" heading="h4" class="alert alert-info note_add_urls" />
</fieldset>
<!-- Access Control Fields. -->
<fieldset name="accesscontrol">
<!-- Asset Id Field. Type: Hidden (joomla) -->
<field
name="asset_id"
type="hidden"
filter="unset"
/>
<!-- Rules Field. Type: Rules (joomla) -->
<field
name="rules"
type="rules"
label="Permissions in relation to this joomla_module_files_folders_urls"
translate_label="false"
filter="rules"
validate="rules"
class="inputbox"
component="com_componentbuilder"
section="joomla_module_files_folders_urls"
/>
</fieldset>
</form>

View File

@ -0,0 +1,11 @@
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2019 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

View File

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addrulepath="/administrator/components/com_componentbuilder/models/rules"
addfieldpath="/administrator/components/com_componentbuilder/models/fields"
>
<fieldset name="details">
<!-- Default Fields. -->
<!-- Id Field. Type: Text (joomla) -->
<field
name="id"
type="text" class="readonly" label="JGLOBAL_FIELD_ID_LABEL"
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
readonly="true"
/>
<!-- Date Created Field. Type: Calendar (joomla) -->
<field
name="created"
type="calendar"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
/>
<!-- User Created Field. Type: User (joomla) -->
<field
name="created_by"
type="user"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_CREATED_BY_DESC"
/>
<!-- Published Field. Type: List (joomla) -->
<field name="published" type="list" label="JSTATUS"
description="JFIELD_PUBLISHED_DESC" class="chzn-color-state"
filter="intval" size="1" default="1" >
<option value="1">
JPUBLISHED</option>
<option value="0">
JUNPUBLISHED</option>
<option value="2">
JARCHIVED</option>
<option value="-2">
JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla) -->
<field name="modified" type="calendar" class="readonly"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_DATE_DESC"
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
<!-- User Modified Field. Type: User (joomla) -->
<field name="modified_by" type="user"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset"
/>
<!-- Access Field. Type: Accesslevel (joomla) -->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false"
/>
<!-- Ordering Field. Type: Numbers (joomla) -->
<field
name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false"
/>
<!-- Version Field. Type: Text (joomla) -->
<field
name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_LABEL"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_DESC"
size="6"
readonly="true"
filter="unset"
/>
<!-- Dynamic Fields. -->
<!-- Joomla_module Field. Type: Joomlamodules. (custom) -->
<field
type="joomlamodules"
name="joomla_module"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_JOOMLA_MODULE_LABEL"
description="JFIELD_TITLE_DESC"
class="list_class span12"
multiple="false"
default="0"
readonly="true"
/>
<!-- Version_update Field. Type: Subform. (joomla) -->
<field
type="subform"
name="version_update"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_UPDATE_LABEL"
layout="joomla.form.field.subform.repeatable-table"
multiple="true"
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_UPDATE_DESCRIPTION"
default=""
icon="list">
<form hidden="true" name="list_version_update_modal" repeat="true">
<!-- Version Field. Type: Text. (joomla) -->
<field
type="text"
name="version"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="false"
filter="STRING"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_VERSION_HINT"
/>
<!-- Mysql Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="mysql"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MYSQL_LABEL"
rows="30"
cols="15"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MYSQL_DESCRIPTION"
class="text_area mysql_update"
filter="raw"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_MYSQL_HINT"
/>
<!-- Url Field. Type: Url. (joomla) -->
<field
type="url"
name="url"
label="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_DESCRIPTION"
class="text_area version_url"
required="true"
filter="raw"
validated="url"
message="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_MESSAGE"
hint="COM_COMPONENTBUILDER_JOOMLA_MODULE_UPDATES_URL_HINT"
/>
</form>
</field>
</fieldset>
<!-- Access Control Fields. -->
<fieldset name="accesscontrol">
<!-- Asset Id Field. Type: Hidden (joomla) -->
<field
name="asset_id"
type="hidden"
filter="unset"
/>
<!-- Rules Field. Type: Rules (joomla) -->
<field
name="rules"
type="rules"
label="Permissions in relation to this joomla_module_updates"
translate_label="false"
filter="rules"
validate="rules"
class="inputbox"
component="com_componentbuilder"
section="joomla_module_updates"
/>
</fieldset>
</form>

File diff suppressed because it is too large Load Diff

View File

@ -11,15 +11,15 @@
// Initial Script
jQuery(document).ready(function()
{
var add_php_view_vvvvwad = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvwad(add_php_view_vvvvwad);
var add_php_view_vvvvwaz = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvwaz(add_php_view_vvvvwaz);
});
// the vvvvwad function
function vvvvwad(add_php_view_vvvvwad)
// the vvvvwaz function
function vvvvwaz(add_php_view_vvvvwaz)
{
// set the function logic
if (add_php_view_vvvvwad == 1)
if (add_php_view_vvvvwaz == 1)
{
jQuery('#jform_php_view-lbl').closest('.control-group').show();
}
@ -45,6 +45,21 @@ jQuery(document).ready(function($)
getEditCustomCodeButtons();
});
function getCodeFrom_server(id, type, type_name, callingName){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax." + callingName + "&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0 && type.length > 0) {
var request = token + '=1&' + type_name + '=' + type + '&id=' + id;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function getEditCustomCodeButtons_server(id){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0){
@ -84,22 +99,8 @@ function isObject(obj) {
return false;
}
function getSnippetDetails_server(snippetId){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json");
if(token.length > 0 && snippetId > 0){
var request = token+'=1&id='+snippetId;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getSnippetDetails(id){
getSnippetDetails_server(id).done(function(result) {
getCodeFrom_server(id, '_type', '_type', 'snippetDetails').done(function(result) {
if(result.snippet){
var description = '';
if (result.description.length > 0) {
@ -203,28 +204,15 @@ jQuery(document).ready(function($)
getSnippets();
});
function getSnippets_server(libraries){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getSnippets&raw=true&format=json";
if(token.length > 0 && libraries.length > 0){
var request = token+'=1&libraries='+JSON.stringify(libraries);
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function getSnippets(){
jQuery("#loading").show();
// clear the selection
jQuery('#jform_snippet').find('option').remove().end();
jQuery('#jform_snippet').trigger('liszt:updated');
// get country value if set
// get libraries value if set
var libraries = jQuery("#jform_libraries").val();
if (libraries) {
getSnippets_server(libraries).done(function(result) {
getCodeFrom_server(1, JSON.stringify(libraries), 'libraries', 'getSnippets').done(function(result) {
setSnippets(result);
jQuery("#loading").hide();
if (typeof snippetButton !== 'undefined') {

File diff suppressed because it is too large Load Diff

View File

@ -78,8 +78,8 @@ function placedin(placeholder, ide) {
jQuery('#note-placedin-not').hide();
jQuery('#note-placedin-found').hide();
jQuery('#loading-placedin').show();
var targets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t']; // if you update this, also update (below 19) & [customcode-codeUsedInHtmlNote]!
var targetNumber = 19;
var targets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u']; // if you update this, also update (below 20) & [customcode-codeUsedInHtmlNote]!
var targetNumber = 20;
var run = 0;
var placedinChecker = setInterval(function(){
var target = targets[run];

View File

@ -9,56 +9,56 @@
*/
// Some Global Values
jform_vvvvwdevyj_required = false;
jform_vvvvwdevyk_required = false;
jform_vvvvwdevyl_required = false;
jform_vvvvwdevym_required = false;
jform_vvvvwdevyn_required = false;
jform_vvvvwdfvyo_required = false;
jform_vvvvwdgvyp_required = false;
jform_vvvvwdivyq_required = false;
jform_vvvvwdkvyr_required = false;
jform_vvvvweavyn_required = false;
jform_vvvvweavyo_required = false;
jform_vvvvweavyp_required = false;
jform_vvvvweavyq_required = false;
jform_vvvvweavyr_required = false;
jform_vvvvwebvys_required = false;
jform_vvvvwecvyt_required = false;
jform_vvvvweevyu_required = false;
jform_vvvvwegvyv_required = false;
// Initial Script
jQuery(document).ready(function()
{
var protocol_vvvvwde = jQuery("#jform_protocol").val();
vvvvwde(protocol_vvvvwde);
var protocol_vvvvwea = jQuery("#jform_protocol").val();
vvvvwea(protocol_vvvvwea);
var protocol_vvvvwdf = jQuery("#jform_protocol").val();
vvvvwdf(protocol_vvvvwdf);
var protocol_vvvvweb = jQuery("#jform_protocol").val();
vvvvweb(protocol_vvvvweb);
var protocol_vvvvwdg = jQuery("#jform_protocol").val();
var authentication_vvvvwdg = jQuery("#jform_authentication").val();
vvvvwdg(protocol_vvvvwdg,authentication_vvvvwdg);
var protocol_vvvvwec = jQuery("#jform_protocol").val();
var authentication_vvvvwec = jQuery("#jform_authentication").val();
vvvvwec(protocol_vvvvwec,authentication_vvvvwec);
var protocol_vvvvwdi = jQuery("#jform_protocol").val();
var authentication_vvvvwdi = jQuery("#jform_authentication").val();
vvvvwdi(protocol_vvvvwdi,authentication_vvvvwdi);
var protocol_vvvvwee = jQuery("#jform_protocol").val();
var authentication_vvvvwee = jQuery("#jform_authentication").val();
vvvvwee(protocol_vvvvwee,authentication_vvvvwee);
var protocol_vvvvwdk = jQuery("#jform_protocol").val();
var authentication_vvvvwdk = jQuery("#jform_authentication").val();
vvvvwdk(protocol_vvvvwdk,authentication_vvvvwdk);
var protocol_vvvvweg = jQuery("#jform_protocol").val();
var authentication_vvvvweg = jQuery("#jform_authentication").val();
vvvvweg(protocol_vvvvweg,authentication_vvvvweg);
var protocol_vvvvwdm = jQuery("#jform_protocol").val();
var authentication_vvvvwdm = jQuery("#jform_authentication").val();
vvvvwdm(protocol_vvvvwdm,authentication_vvvvwdm);
var protocol_vvvvwei = jQuery("#jform_protocol").val();
var authentication_vvvvwei = jQuery("#jform_authentication").val();
vvvvwei(protocol_vvvvwei,authentication_vvvvwei);
});
// the vvvvwde function
function vvvvwde(protocol_vvvvwde)
// the vvvvwea function
function vvvvwea(protocol_vvvvwea)
{
if (isSet(protocol_vvvvwde) && protocol_vvvvwde.constructor !== Array)
if (isSet(protocol_vvvvwea) && protocol_vvvvwea.constructor !== Array)
{
var temp_vvvvwde = protocol_vvvvwde;
var protocol_vvvvwde = [];
protocol_vvvvwde.push(temp_vvvvwde);
var temp_vvvvwea = protocol_vvvvwea;
var protocol_vvvvwea = [];
protocol_vvvvwea.push(temp_vvvvwea);
}
else if (!isSet(protocol_vvvvwde))
else if (!isSet(protocol_vvvvwea))
{
var protocol_vvvvwde = [];
var protocol_vvvvwea = [];
}
var protocol = protocol_vvvvwde.some(protocol_vvvvwde_SomeFunc);
var protocol = protocol_vvvvwea.some(protocol_vvvvwea_SomeFunc);
// set this function logic
@ -66,137 +66,137 @@ function vvvvwde(protocol_vvvvwde)
{
jQuery('#jform_authentication').closest('.control-group').show();
// add required attribute to authentication field
if (jform_vvvvwdevyj_required)
if (jform_vvvvweavyn_required)
{
updateFieldRequired('authentication',0);
jQuery('#jform_authentication').prop('required','required');
jQuery('#jform_authentication').attr('aria-required',true);
jQuery('#jform_authentication').addClass('required');
jform_vvvvwdevyj_required = false;
jform_vvvvweavyn_required = false;
}
jQuery('#jform_host').closest('.control-group').show();
// add required attribute to host field
if (jform_vvvvwdevyk_required)
if (jform_vvvvweavyo_required)
{
updateFieldRequired('host',0);
jQuery('#jform_host').prop('required','required');
jQuery('#jform_host').attr('aria-required',true);
jQuery('#jform_host').addClass('required');
jform_vvvvwdevyk_required = false;
jform_vvvvweavyo_required = false;
}
jQuery('#jform_port').closest('.control-group').show();
// add required attribute to port field
if (jform_vvvvwdevyl_required)
if (jform_vvvvweavyp_required)
{
updateFieldRequired('port',0);
jQuery('#jform_port').prop('required','required');
jQuery('#jform_port').attr('aria-required',true);
jQuery('#jform_port').addClass('required');
jform_vvvvwdevyl_required = false;
jform_vvvvweavyp_required = false;
}
jQuery('#jform_path').closest('.control-group').show();
// add required attribute to path field
if (jform_vvvvwdevym_required)
if (jform_vvvvweavyq_required)
{
updateFieldRequired('path',0);
jQuery('#jform_path').prop('required','required');
jQuery('#jform_path').attr('aria-required',true);
jQuery('#jform_path').addClass('required');
jform_vvvvwdevym_required = false;
jform_vvvvweavyq_required = false;
}
jQuery('.note_ssh_security').closest('.control-group').show();
jQuery('#jform_username').closest('.control-group').show();
// add required attribute to username field
if (jform_vvvvwdevyn_required)
if (jform_vvvvweavyr_required)
{
updateFieldRequired('username',0);
jQuery('#jform_username').prop('required','required');
jQuery('#jform_username').attr('aria-required',true);
jQuery('#jform_username').addClass('required');
jform_vvvvwdevyn_required = false;
jform_vvvvweavyr_required = false;
}
}
else
{
jQuery('#jform_authentication').closest('.control-group').hide();
// remove required attribute from authentication field
if (!jform_vvvvwdevyj_required)
if (!jform_vvvvweavyn_required)
{
updateFieldRequired('authentication',1);
jQuery('#jform_authentication').removeAttr('required');
jQuery('#jform_authentication').removeAttr('aria-required');
jQuery('#jform_authentication').removeClass('required');
jform_vvvvwdevyj_required = true;
jform_vvvvweavyn_required = true;
}
jQuery('#jform_host').closest('.control-group').hide();
// remove required attribute from host field
if (!jform_vvvvwdevyk_required)
if (!jform_vvvvweavyo_required)
{
updateFieldRequired('host',1);
jQuery('#jform_host').removeAttr('required');
jQuery('#jform_host').removeAttr('aria-required');
jQuery('#jform_host').removeClass('required');
jform_vvvvwdevyk_required = true;
jform_vvvvweavyo_required = true;
}
jQuery('#jform_port').closest('.control-group').hide();
// remove required attribute from port field
if (!jform_vvvvwdevyl_required)
if (!jform_vvvvweavyp_required)
{
updateFieldRequired('port',1);
jQuery('#jform_port').removeAttr('required');
jQuery('#jform_port').removeAttr('aria-required');
jQuery('#jform_port').removeClass('required');
jform_vvvvwdevyl_required = true;
jform_vvvvweavyp_required = true;
}
jQuery('#jform_path').closest('.control-group').hide();
// remove required attribute from path field
if (!jform_vvvvwdevym_required)
if (!jform_vvvvweavyq_required)
{
updateFieldRequired('path',1);
jQuery('#jform_path').removeAttr('required');
jQuery('#jform_path').removeAttr('aria-required');
jQuery('#jform_path').removeClass('required');
jform_vvvvwdevym_required = true;
jform_vvvvweavyq_required = true;
}
jQuery('.note_ssh_security').closest('.control-group').hide();
jQuery('#jform_username').closest('.control-group').hide();
// remove required attribute from username field
if (!jform_vvvvwdevyn_required)
if (!jform_vvvvweavyr_required)
{
updateFieldRequired('username',1);
jQuery('#jform_username').removeAttr('required');
jQuery('#jform_username').removeAttr('aria-required');
jQuery('#jform_username').removeClass('required');
jform_vvvvwdevyn_required = true;
jform_vvvvweavyr_required = true;
}
}
}
// the vvvvwde Some function
function protocol_vvvvwde_SomeFunc(protocol_vvvvwde)
// the vvvvwea Some function
function protocol_vvvvwea_SomeFunc(protocol_vvvvwea)
{
// set the function logic
if (protocol_vvvvwde == 2)
if (protocol_vvvvwea == 2)
{
return true;
}
return false;
}
// the vvvvwdf function
function vvvvwdf(protocol_vvvvwdf)
// the vvvvweb function
function vvvvweb(protocol_vvvvweb)
{
if (isSet(protocol_vvvvwdf) && protocol_vvvvwdf.constructor !== Array)
if (isSet(protocol_vvvvweb) && protocol_vvvvweb.constructor !== Array)
{
var temp_vvvvwdf = protocol_vvvvwdf;
var protocol_vvvvwdf = [];
protocol_vvvvwdf.push(temp_vvvvwdf);
var temp_vvvvweb = protocol_vvvvweb;
var protocol_vvvvweb = [];
protocol_vvvvweb.push(temp_vvvvweb);
}
else if (!isSet(protocol_vvvvwdf))
else if (!isSet(protocol_vvvvweb))
{
var protocol_vvvvwdf = [];
var protocol_vvvvweb = [];
}
var protocol = protocol_vvvvwdf.some(protocol_vvvvwdf_SomeFunc);
var protocol = protocol_vvvvweb.some(protocol_vvvvweb_SomeFunc);
// set this function logic
@ -205,13 +205,13 @@ function vvvvwdf(protocol_vvvvwdf)
jQuery('.note_ftp_signature').closest('.control-group').show();
jQuery('#jform_signature').closest('.control-group').show();
// add required attribute to signature field
if (jform_vvvvwdfvyo_required)
if (jform_vvvvwebvys_required)
{
updateFieldRequired('signature',0);
jQuery('#jform_signature').prop('required','required');
jQuery('#jform_signature').attr('aria-required',true);
jQuery('#jform_signature').addClass('required');
jform_vvvvwdfvyo_required = false;
jform_vvvvwebvys_required = false;
}
}
else
@ -219,54 +219,54 @@ function vvvvwdf(protocol_vvvvwdf)
jQuery('.note_ftp_signature').closest('.control-group').hide();
jQuery('#jform_signature').closest('.control-group').hide();
// remove required attribute from signature field
if (!jform_vvvvwdfvyo_required)
if (!jform_vvvvwebvys_required)
{
updateFieldRequired('signature',1);
jQuery('#jform_signature').removeAttr('required');
jQuery('#jform_signature').removeAttr('aria-required');
jQuery('#jform_signature').removeClass('required');
jform_vvvvwdfvyo_required = true;
jform_vvvvwebvys_required = true;
}
}
}
// the vvvvwdf Some function
function protocol_vvvvwdf_SomeFunc(protocol_vvvvwdf)
// the vvvvweb Some function
function protocol_vvvvweb_SomeFunc(protocol_vvvvweb)
{
// set the function logic
if (protocol_vvvvwdf == 1)
if (protocol_vvvvweb == 1)
{
return true;
}
return false;
}
// the vvvvwdg function
function vvvvwdg(protocol_vvvvwdg,authentication_vvvvwdg)
// the vvvvwec function
function vvvvwec(protocol_vvvvwec,authentication_vvvvwec)
{
if (isSet(protocol_vvvvwdg) && protocol_vvvvwdg.constructor !== Array)
if (isSet(protocol_vvvvwec) && protocol_vvvvwec.constructor !== Array)
{
var temp_vvvvwdg = protocol_vvvvwdg;
var protocol_vvvvwdg = [];
protocol_vvvvwdg.push(temp_vvvvwdg);
var temp_vvvvwec = protocol_vvvvwec;
var protocol_vvvvwec = [];
protocol_vvvvwec.push(temp_vvvvwec);
}
else if (!isSet(protocol_vvvvwdg))
else if (!isSet(protocol_vvvvwec))
{
var protocol_vvvvwdg = [];
var protocol_vvvvwec = [];
}
var protocol = protocol_vvvvwdg.some(protocol_vvvvwdg_SomeFunc);
var protocol = protocol_vvvvwec.some(protocol_vvvvwec_SomeFunc);
if (isSet(authentication_vvvvwdg) && authentication_vvvvwdg.constructor !== Array)
if (isSet(authentication_vvvvwec) && authentication_vvvvwec.constructor !== Array)
{
var temp_vvvvwdg = authentication_vvvvwdg;
var authentication_vvvvwdg = [];
authentication_vvvvwdg.push(temp_vvvvwdg);
var temp_vvvvwec = authentication_vvvvwec;
var authentication_vvvvwec = [];
authentication_vvvvwec.push(temp_vvvvwec);
}
else if (!isSet(authentication_vvvvwdg))
else if (!isSet(authentication_vvvvwec))
{
var authentication_vvvvwdg = [];
var authentication_vvvvwec = [];
}
var authentication = authentication_vvvvwdg.some(authentication_vvvvwdg_SomeFunc);
var authentication = authentication_vvvvwec.some(authentication_vvvvwec_SomeFunc);
// set this function logic
@ -274,78 +274,78 @@ function vvvvwdg(protocol_vvvvwdg,authentication_vvvvwdg)
{
jQuery('#jform_password').closest('.control-group').show();
// add required attribute to password field
if (jform_vvvvwdgvyp_required)
if (jform_vvvvwecvyt_required)
{
updateFieldRequired('password',0);
jQuery('#jform_password').prop('required','required');
jQuery('#jform_password').attr('aria-required',true);
jQuery('#jform_password').addClass('required');
jform_vvvvwdgvyp_required = false;
jform_vvvvwecvyt_required = false;
}
}
else
{
jQuery('#jform_password').closest('.control-group').hide();
// remove required attribute from password field
if (!jform_vvvvwdgvyp_required)
if (!jform_vvvvwecvyt_required)
{
updateFieldRequired('password',1);
jQuery('#jform_password').removeAttr('required');
jQuery('#jform_password').removeAttr('aria-required');
jQuery('#jform_password').removeClass('required');
jform_vvvvwdgvyp_required = true;
jform_vvvvwecvyt_required = true;
}
}
}
// the vvvvwdg Some function
function protocol_vvvvwdg_SomeFunc(protocol_vvvvwdg)
// the vvvvwec Some function
function protocol_vvvvwec_SomeFunc(protocol_vvvvwec)
{
// set the function logic
if (protocol_vvvvwdg == 2)
if (protocol_vvvvwec == 2)
{
return true;
}
return false;
}
// the vvvvwdg Some function
function authentication_vvvvwdg_SomeFunc(authentication_vvvvwdg)
// the vvvvwec Some function
function authentication_vvvvwec_SomeFunc(authentication_vvvvwec)
{
// set the function logic
if (authentication_vvvvwdg == 1 || authentication_vvvvwdg == 3 || authentication_vvvvwdg == 5)
if (authentication_vvvvwec == 1 || authentication_vvvvwec == 3 || authentication_vvvvwec == 5)
{
return true;
}
return false;
}
// the vvvvwdi function
function vvvvwdi(protocol_vvvvwdi,authentication_vvvvwdi)
// the vvvvwee function
function vvvvwee(protocol_vvvvwee,authentication_vvvvwee)
{
if (isSet(protocol_vvvvwdi) && protocol_vvvvwdi.constructor !== Array)
if (isSet(protocol_vvvvwee) && protocol_vvvvwee.constructor !== Array)
{
var temp_vvvvwdi = protocol_vvvvwdi;
var protocol_vvvvwdi = [];
protocol_vvvvwdi.push(temp_vvvvwdi);
var temp_vvvvwee = protocol_vvvvwee;
var protocol_vvvvwee = [];
protocol_vvvvwee.push(temp_vvvvwee);
}
else if (!isSet(protocol_vvvvwdi))
else if (!isSet(protocol_vvvvwee))
{
var protocol_vvvvwdi = [];
var protocol_vvvvwee = [];
}
var protocol = protocol_vvvvwdi.some(protocol_vvvvwdi_SomeFunc);
var protocol = protocol_vvvvwee.some(protocol_vvvvwee_SomeFunc);
if (isSet(authentication_vvvvwdi) && authentication_vvvvwdi.constructor !== Array)
if (isSet(authentication_vvvvwee) && authentication_vvvvwee.constructor !== Array)
{
var temp_vvvvwdi = authentication_vvvvwdi;
var authentication_vvvvwdi = [];
authentication_vvvvwdi.push(temp_vvvvwdi);
var temp_vvvvwee = authentication_vvvvwee;
var authentication_vvvvwee = [];
authentication_vvvvwee.push(temp_vvvvwee);
}
else if (!isSet(authentication_vvvvwdi))
else if (!isSet(authentication_vvvvwee))
{
var authentication_vvvvwdi = [];
var authentication_vvvvwee = [];
}
var authentication = authentication_vvvvwdi.some(authentication_vvvvwdi_SomeFunc);
var authentication = authentication_vvvvwee.some(authentication_vvvvwee_SomeFunc);
// set this function logic
@ -353,78 +353,78 @@ function vvvvwdi(protocol_vvvvwdi,authentication_vvvvwdi)
{
jQuery('#jform_private').closest('.control-group').show();
// add required attribute to private field
if (jform_vvvvwdivyq_required)
if (jform_vvvvweevyu_required)
{
updateFieldRequired('private',0);
jQuery('#jform_private').prop('required','required');
jQuery('#jform_private').attr('aria-required',true);
jQuery('#jform_private').addClass('required');
jform_vvvvwdivyq_required = false;
jform_vvvvweevyu_required = false;
}
}
else
{
jQuery('#jform_private').closest('.control-group').hide();
// remove required attribute from private field
if (!jform_vvvvwdivyq_required)
if (!jform_vvvvweevyu_required)
{
updateFieldRequired('private',1);
jQuery('#jform_private').removeAttr('required');
jQuery('#jform_private').removeAttr('aria-required');
jQuery('#jform_private').removeClass('required');
jform_vvvvwdivyq_required = true;
jform_vvvvweevyu_required = true;
}
}
}
// the vvvvwdi Some function
function protocol_vvvvwdi_SomeFunc(protocol_vvvvwdi)
// the vvvvwee Some function
function protocol_vvvvwee_SomeFunc(protocol_vvvvwee)
{
// set the function logic
if (protocol_vvvvwdi == 2)
if (protocol_vvvvwee == 2)
{
return true;
}
return false;
}
// the vvvvwdi Some function
function authentication_vvvvwdi_SomeFunc(authentication_vvvvwdi)
// the vvvvwee Some function
function authentication_vvvvwee_SomeFunc(authentication_vvvvwee)
{
// set the function logic
if (authentication_vvvvwdi == 2 || authentication_vvvvwdi == 3)
if (authentication_vvvvwee == 2 || authentication_vvvvwee == 3)
{
return true;
}
return false;
}
// the vvvvwdk function
function vvvvwdk(protocol_vvvvwdk,authentication_vvvvwdk)
// the vvvvweg function
function vvvvweg(protocol_vvvvweg,authentication_vvvvweg)
{
if (isSet(protocol_vvvvwdk) && protocol_vvvvwdk.constructor !== Array)
if (isSet(protocol_vvvvweg) && protocol_vvvvweg.constructor !== Array)
{
var temp_vvvvwdk = protocol_vvvvwdk;
var protocol_vvvvwdk = [];
protocol_vvvvwdk.push(temp_vvvvwdk);
var temp_vvvvweg = protocol_vvvvweg;
var protocol_vvvvweg = [];
protocol_vvvvweg.push(temp_vvvvweg);
}
else if (!isSet(protocol_vvvvwdk))
else if (!isSet(protocol_vvvvweg))
{
var protocol_vvvvwdk = [];
var protocol_vvvvweg = [];
}
var protocol = protocol_vvvvwdk.some(protocol_vvvvwdk_SomeFunc);
var protocol = protocol_vvvvweg.some(protocol_vvvvweg_SomeFunc);
if (isSet(authentication_vvvvwdk) && authentication_vvvvwdk.constructor !== Array)
if (isSet(authentication_vvvvweg) && authentication_vvvvweg.constructor !== Array)
{
var temp_vvvvwdk = authentication_vvvvwdk;
var authentication_vvvvwdk = [];
authentication_vvvvwdk.push(temp_vvvvwdk);
var temp_vvvvweg = authentication_vvvvweg;
var authentication_vvvvweg = [];
authentication_vvvvweg.push(temp_vvvvweg);
}
else if (!isSet(authentication_vvvvwdk))
else if (!isSet(authentication_vvvvweg))
{
var authentication_vvvvwdk = [];
var authentication_vvvvweg = [];
}
var authentication = authentication_vvvvwdk.some(authentication_vvvvwdk_SomeFunc);
var authentication = authentication_vvvvweg.some(authentication_vvvvweg_SomeFunc);
// set this function logic
@ -432,78 +432,78 @@ function vvvvwdk(protocol_vvvvwdk,authentication_vvvvwdk)
{
jQuery('#jform_private_key').closest('.control-group').show();
// add required attribute to private_key field
if (jform_vvvvwdkvyr_required)
if (jform_vvvvwegvyv_required)
{
updateFieldRequired('private_key',0);
jQuery('#jform_private_key').prop('required','required');
jQuery('#jform_private_key').attr('aria-required',true);
jQuery('#jform_private_key').addClass('required');
jform_vvvvwdkvyr_required = false;
jform_vvvvwegvyv_required = false;
}
}
else
{
jQuery('#jform_private_key').closest('.control-group').hide();
// remove required attribute from private_key field
if (!jform_vvvvwdkvyr_required)
if (!jform_vvvvwegvyv_required)
{
updateFieldRequired('private_key',1);
jQuery('#jform_private_key').removeAttr('required');
jQuery('#jform_private_key').removeAttr('aria-required');
jQuery('#jform_private_key').removeClass('required');
jform_vvvvwdkvyr_required = true;
jform_vvvvwegvyv_required = true;
}
}
}
// the vvvvwdk Some function
function protocol_vvvvwdk_SomeFunc(protocol_vvvvwdk)
// the vvvvweg Some function
function protocol_vvvvweg_SomeFunc(protocol_vvvvweg)
{
// set the function logic
if (protocol_vvvvwdk == 2)
if (protocol_vvvvweg == 2)
{
return true;
}
return false;
}
// the vvvvwdk Some function
function authentication_vvvvwdk_SomeFunc(authentication_vvvvwdk)
// the vvvvweg Some function
function authentication_vvvvweg_SomeFunc(authentication_vvvvweg)
{
// set the function logic
if (authentication_vvvvwdk == 4 || authentication_vvvvwdk == 5)
if (authentication_vvvvweg == 4 || authentication_vvvvweg == 5)
{
return true;
}
return false;
}
// the vvvvwdm function
function vvvvwdm(protocol_vvvvwdm,authentication_vvvvwdm)
// the vvvvwei function
function vvvvwei(protocol_vvvvwei,authentication_vvvvwei)
{
if (isSet(protocol_vvvvwdm) && protocol_vvvvwdm.constructor !== Array)
if (isSet(protocol_vvvvwei) && protocol_vvvvwei.constructor !== Array)
{
var temp_vvvvwdm = protocol_vvvvwdm;
var protocol_vvvvwdm = [];
protocol_vvvvwdm.push(temp_vvvvwdm);
var temp_vvvvwei = protocol_vvvvwei;
var protocol_vvvvwei = [];
protocol_vvvvwei.push(temp_vvvvwei);
}
else if (!isSet(protocol_vvvvwdm))
else if (!isSet(protocol_vvvvwei))
{
var protocol_vvvvwdm = [];
var protocol_vvvvwei = [];
}
var protocol = protocol_vvvvwdm.some(protocol_vvvvwdm_SomeFunc);
var protocol = protocol_vvvvwei.some(protocol_vvvvwei_SomeFunc);
if (isSet(authentication_vvvvwdm) && authentication_vvvvwdm.constructor !== Array)
if (isSet(authentication_vvvvwei) && authentication_vvvvwei.constructor !== Array)
{
var temp_vvvvwdm = authentication_vvvvwdm;
var authentication_vvvvwdm = [];
authentication_vvvvwdm.push(temp_vvvvwdm);
var temp_vvvvwei = authentication_vvvvwei;
var authentication_vvvvwei = [];
authentication_vvvvwei.push(temp_vvvvwei);
}
else if (!isSet(authentication_vvvvwdm))
else if (!isSet(authentication_vvvvwei))
{
var authentication_vvvvwdm = [];
var authentication_vvvvwei = [];
}
var authentication = authentication_vvvvwdm.some(authentication_vvvvwdm_SomeFunc);
var authentication = authentication_vvvvwei.some(authentication_vvvvwei_SomeFunc);
// set this function logic
@ -517,22 +517,22 @@ function vvvvwdm(protocol_vvvvwdm,authentication_vvvvwdm)
}
}
// the vvvvwdm Some function
function protocol_vvvvwdm_SomeFunc(protocol_vvvvwdm)
// the vvvvwei Some function
function protocol_vvvvwei_SomeFunc(protocol_vvvvwei)
{
// set the function logic
if (protocol_vvvvwdm == 2)
if (protocol_vvvvwei == 2)
{
return true;
}
return false;
}
// the vvvvwdm Some function
function authentication_vvvvwdm_SomeFunc(authentication_vvvvwdm)
// the vvvvwei Some function
function authentication_vvvvwei_SomeFunc(authentication_vvvvwei)
{
// set the function logic
if (authentication_vvvvwdm == 2 || authentication_vvvvwdm == 3 || authentication_vvvvwdm == 4 || authentication_vvvvwdm == 5)
if (authentication_vvvvwei == 2 || authentication_vvvvwei == 3 || authentication_vvvvwei == 4 || authentication_vvvvwei == 5)
{
return true;
}

View File

@ -11,45 +11,45 @@
// Initial Script
jQuery(document).ready(function()
{
var add_php_view_vvvvvzr = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvvzr(add_php_view_vvvvvzr);
var add_php_view_vvvvwan = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvwan(add_php_view_vvvvwan);
var add_php_jview_display_vvvvvzs = jQuery("#jform_add_php_jview_display input[type='radio']:checked").val();
vvvvvzs(add_php_jview_display_vvvvvzs);
var add_php_jview_display_vvvvwao = jQuery("#jform_add_php_jview_display input[type='radio']:checked").val();
vvvvwao(add_php_jview_display_vvvvwao);
var add_php_jview_vvvvvzt = jQuery("#jform_add_php_jview input[type='radio']:checked").val();
vvvvvzt(add_php_jview_vvvvvzt);
var add_php_jview_vvvvwap = jQuery("#jform_add_php_jview input[type='radio']:checked").val();
vvvvwap(add_php_jview_vvvvwap);
var add_php_document_vvvvvzu = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvvzu(add_php_document_vvvvvzu);
var add_php_document_vvvvwaq = jQuery("#jform_add_php_document input[type='radio']:checked").val();
vvvvwaq(add_php_document_vvvvwaq);
var add_css_document_vvvvvzv = jQuery("#jform_add_css_document input[type='radio']:checked").val();
vvvvvzv(add_css_document_vvvvvzv);
var add_css_document_vvvvwar = jQuery("#jform_add_css_document input[type='radio']:checked").val();
vvvvwar(add_css_document_vvvvwar);
var add_javascript_file_vvvvvzw = jQuery("#jform_add_javascript_file input[type='radio']:checked").val();
vvvvvzw(add_javascript_file_vvvvvzw);
var add_javascript_file_vvvvwas = jQuery("#jform_add_javascript_file input[type='radio']:checked").val();
vvvvwas(add_javascript_file_vvvvwas);
var add_js_document_vvvvvzx = jQuery("#jform_add_js_document input[type='radio']:checked").val();
vvvvvzx(add_js_document_vvvvvzx);
var add_js_document_vvvvwat = jQuery("#jform_add_js_document input[type='radio']:checked").val();
vvvvwat(add_js_document_vvvvwat);
var add_css_vvvvvzy = jQuery("#jform_add_css input[type='radio']:checked").val();
vvvvvzy(add_css_vvvvvzy);
var add_css_vvvvwau = jQuery("#jform_add_css input[type='radio']:checked").val();
vvvvwau(add_css_vvvvwau);
var add_php_ajax_vvvvvzz = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvvzz(add_php_ajax_vvvvvzz);
var add_php_ajax_vvvvwav = jQuery("#jform_add_php_ajax input[type='radio']:checked").val();
vvvvwav(add_php_ajax_vvvvwav);
var add_custom_button_vvvvwaa = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvwaa(add_custom_button_vvvvwaa);
var add_custom_button_vvvvwaw = jQuery("#jform_add_custom_button input[type='radio']:checked").val();
vvvvwaw(add_custom_button_vvvvwaw);
var button_position_vvvvwab = jQuery("#jform_button_position").val();
vvvvwab(button_position_vvvvwab);
var button_position_vvvvwax = jQuery("#jform_button_position").val();
vvvvwax(button_position_vvvvwax);
});
// the vvvvvzr function
function vvvvvzr(add_php_view_vvvvvzr)
// the vvvvwan function
function vvvvwan(add_php_view_vvvvwan)
{
// set the function logic
if (add_php_view_vvvvvzr == 1)
if (add_php_view_vvvvwan == 1)
{
jQuery('#jform_php_view-lbl').closest('.control-group').show();
}
@ -59,11 +59,11 @@ function vvvvvzr(add_php_view_vvvvvzr)
}
}
// the vvvvvzs function
function vvvvvzs(add_php_jview_display_vvvvvzs)
// the vvvvwao function
function vvvvwao(add_php_jview_display_vvvvwao)
{
// set the function logic
if (add_php_jview_display_vvvvvzs == 1)
if (add_php_jview_display_vvvvwao == 1)
{
jQuery('#jform_php_jview_display-lbl').closest('.control-group').show();
}
@ -73,11 +73,11 @@ function vvvvvzs(add_php_jview_display_vvvvvzs)
}
}
// the vvvvvzt function
function vvvvvzt(add_php_jview_vvvvvzt)
// the vvvvwap function
function vvvvwap(add_php_jview_vvvvwap)
{
// set the function logic
if (add_php_jview_vvvvvzt == 1)
if (add_php_jview_vvvvwap == 1)
{
jQuery('#jform_php_jview-lbl').closest('.control-group').show();
}
@ -87,11 +87,11 @@ function vvvvvzt(add_php_jview_vvvvvzt)
}
}
// the vvvvvzu function
function vvvvvzu(add_php_document_vvvvvzu)
// the vvvvwaq function
function vvvvwaq(add_php_document_vvvvwaq)
{
// set the function logic
if (add_php_document_vvvvvzu == 1)
if (add_php_document_vvvvwaq == 1)
{
jQuery('#jform_php_document-lbl').closest('.control-group').show();
}
@ -101,11 +101,11 @@ function vvvvvzu(add_php_document_vvvvvzu)
}
}
// the vvvvvzv function
function vvvvvzv(add_css_document_vvvvvzv)
// the vvvvwar function
function vvvvwar(add_css_document_vvvvwar)
{
// set the function logic
if (add_css_document_vvvvvzv == 1)
if (add_css_document_vvvvwar == 1)
{
jQuery('#jform_css_document-lbl').closest('.control-group').show();
}
@ -115,11 +115,11 @@ function vvvvvzv(add_css_document_vvvvvzv)
}
}
// the vvvvvzw function
function vvvvvzw(add_javascript_file_vvvvvzw)
// the vvvvwas function
function vvvvwas(add_javascript_file_vvvvwas)
{
// set the function logic
if (add_javascript_file_vvvvvzw == 1)
if (add_javascript_file_vvvvwas == 1)
{
jQuery('#jform_javascript_file-lbl').closest('.control-group').show();
}
@ -129,11 +129,11 @@ function vvvvvzw(add_javascript_file_vvvvvzw)
}
}
// the vvvvvzx function
function vvvvvzx(add_js_document_vvvvvzx)
// the vvvvwat function
function vvvvwat(add_js_document_vvvvwat)
{
// set the function logic
if (add_js_document_vvvvvzx == 1)
if (add_js_document_vvvvwat == 1)
{
jQuery('#jform_js_document-lbl').closest('.control-group').show();
}
@ -143,11 +143,11 @@ function vvvvvzx(add_js_document_vvvvvzx)
}
}
// the vvvvvzy function
function vvvvvzy(add_css_vvvvvzy)
// the vvvvwau function
function vvvvwau(add_css_vvvvwau)
{
// set the function logic
if (add_css_vvvvvzy == 1)
if (add_css_vvvvwau == 1)
{
jQuery('#jform_css-lbl').closest('.control-group').show();
}
@ -157,11 +157,11 @@ function vvvvvzy(add_css_vvvvvzy)
}
}
// the vvvvvzz function
function vvvvvzz(add_php_ajax_vvvvvzz)
// the vvvvwav function
function vvvvwav(add_php_ajax_vvvvwav)
{
// set the function logic
if (add_php_ajax_vvvvvzz == 1)
if (add_php_ajax_vvvvwav == 1)
{
jQuery('#jform_ajax_input-lbl').closest('.control-group').show();
jQuery('#jform_php_ajaxmethod-lbl').closest('.control-group').show();
@ -173,11 +173,11 @@ function vvvvvzz(add_php_ajax_vvvvvzz)
}
}
// the vvvvwaa function
function vvvvwaa(add_custom_button_vvvvwaa)
// the vvvvwaw function
function vvvvwaw(add_custom_button_vvvvwaw)
{
// set the function logic
if (add_custom_button_vvvvwaa == 1)
if (add_custom_button_vvvvwaw == 1)
{
jQuery('#jform_custom_button-lbl').closest('.control-group').show();
jQuery('#jform_php_controller-lbl').closest('.control-group').show();
@ -191,20 +191,20 @@ function vvvvwaa(add_custom_button_vvvvwaa)
}
}
// the vvvvwab function
function vvvvwab(button_position_vvvvwab)
// the vvvvwax function
function vvvvwax(button_position_vvvvwax)
{
if (isSet(button_position_vvvvwab) && button_position_vvvvwab.constructor !== Array)
if (isSet(button_position_vvvvwax) && button_position_vvvvwax.constructor !== Array)
{
var temp_vvvvwab = button_position_vvvvwab;
var button_position_vvvvwab = [];
button_position_vvvvwab.push(temp_vvvvwab);
var temp_vvvvwax = button_position_vvvvwax;
var button_position_vvvvwax = [];
button_position_vvvvwax.push(temp_vvvvwax);
}
else if (!isSet(button_position_vvvvwab))
else if (!isSet(button_position_vvvvwax))
{
var button_position_vvvvwab = [];
var button_position_vvvvwax = [];
}
var button_position = button_position_vvvvwab.some(button_position_vvvvwab_SomeFunc);
var button_position = button_position_vvvvwax.some(button_position_vvvvwax_SomeFunc);
// set this function logic
@ -218,11 +218,11 @@ function vvvvwab(button_position_vvvvwab)
}
}
// the vvvvwab Some function
function button_position_vvvvwab_SomeFunc(button_position_vvvvwab)
// the vvvvwax Some function
function button_position_vvvvwax_SomeFunc(button_position_vvvvwax)
{
// set the function logic
if (button_position_vvvvwab == 5)
if (button_position_vvvvwax == 5)
{
return true;
}
@ -247,10 +247,10 @@ jQuery(document).ready(function()
getEditCustomCodeButtons();
});
function getLinked_server(type){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getLinked&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && type > 0){
var request = token+'=1&type='+type;
function getCodeFrom_server(id, type, type_name, callingName){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax." + callingName + "&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0 && type.length > 0) {
var request = token + '=1&' + type_name + '=' + type + '&id=' + id;
}
return jQuery.ajax({
type: 'GET',
@ -261,30 +261,17 @@ function getLinked_server(type){
});
}
function getLinked(){
getLinked_server(1).done(function(result) {
getCodeFrom_server(1, 'type', 'type', 'getLinked').done(function(result) {
if(result){
jQuery('#display_linked_to').html(result);
}
});
}
function getSnippetDetails_server(snippetId){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json");
if(token.length > 0 && snippetId > 0){
var request = token+'=1&id='+snippetId;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getSnippetDetails(id){
getSnippetDetails_server(id).done(function(result) {
getCodeFrom_server(id, '_type', '_type', 'snippetDetails').done(function(result) {
if(result.snippet){
var description = '';
if (result.description.length > 0) {
@ -371,22 +358,8 @@ function getLayoutDetails(id){
})
}
function getTemplateDetails_server(id){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.templateDetails&format=json&vdm="+vastDevMod);
if(token.length > 0 && id > 0){
var request = token+'=1&id='+id;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getTemplateDetails(id){
getTemplateDetails_server(id).done(function(result) {
getCodeFrom_server(id, 'type', 'type', 'templateDetails').done(function(result) {
if(result){
jQuery('#details').append(result);
// make sure the code bocks are active
@ -414,28 +387,15 @@ jQuery(document).ready(function($)
getSnippets();
});
function getSnippets_server(libraries){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getSnippets&raw=true&format=json";
if(token.length > 0 && libraries.length > 0){
var request = token+'=1&libraries='+JSON.stringify(libraries);
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function getSnippets(){
jQuery("#loading").show();
// clear the selection
jQuery('#jform_snippet').find('option').remove().end();
jQuery('#jform_snippet').trigger('liszt:updated');
// get country value if set
// get libraries value if set
var libraries = jQuery("#jform_libraries").val();
if (libraries) {
getSnippets_server(libraries).done(function(result) {
getCodeFrom_server(1, JSON.stringify(libraries), 'libraries', 'getSnippets').done(function(result) {
setSnippets(result);
jQuery("#loading").hide();
if (typeof snippetButton !== 'undefined') {

View File

@ -11,15 +11,15 @@
// Initial Script
jQuery(document).ready(function()
{
var add_php_view_vvvvwac = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvwac(add_php_view_vvvvwac);
var add_php_view_vvvvway = jQuery("#jform_add_php_view input[type='radio']:checked").val();
vvvvway(add_php_view_vvvvway);
});
// the vvvvwac function
function vvvvwac(add_php_view_vvvvwac)
// the vvvvway function
function vvvvway(add_php_view_vvvvway)
{
// set the function logic
if (add_php_view_vvvvwac == 1)
if (add_php_view_vvvvway == 1)
{
jQuery('#jform_php_view-lbl').closest('.control-group').show();
}
@ -45,6 +45,21 @@ jQuery(document).ready(function($)
getEditCustomCodeButtons();
});
function getCodeFrom_server(id, type, type_name, callingName){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax." + callingName + "&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0 && type.length > 0) {
var request = token + '=1&' + type_name + '=' + type + '&id=' + id;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function getEditCustomCodeButtons_server(id){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.getEditCustomCodeButtons&format=json&raw=true&vdm="+vastDevMod);
if(token.length > 0 && id > 0){
@ -84,22 +99,8 @@ function isObject(obj) {
return false;
}
function getSnippetDetails_server(snippetId){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.snippetDetails&format=json");
if(token.length > 0 && snippetId > 0){
var request = token+'=1&id='+snippetId;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getSnippetDetails(id){
getSnippetDetails_server(id).done(function(result) {
getCodeFrom_server(id, '_type', '_type', 'snippetDetails').done(function(result) {
if(result.snippet){
var description = '';
if (result.description.length > 0) {
@ -186,22 +187,8 @@ function getLayoutDetails(id){
})
}
function getTemplateDetails_server(id){
var getUrl = JRouter("index.php?option=com_componentbuilder&task=ajax.templateDetails&format=json&vdm="+vastDevMod);
if(token.length > 0 && id > 0){
var request = token+'=1&id='+id;
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'jsonp',
data: request,
jsonp: 'callback'
});
}
function getTemplateDetails(id){
getTemplateDetails_server(id).done(function(result) {
getCodeFrom_server(id, 'type', 'type', 'templateDetails').done(function(result) {
if(result){
jQuery('#details').append(result);
// make sure the code bocks are active
@ -229,28 +216,15 @@ jQuery(document).ready(function($)
getSnippets();
});
function getSnippets_server(libraries){
var getUrl = "index.php?option=com_componentbuilder&task=ajax.getSnippets&raw=true&format=json";
if(token.length > 0 && libraries.length > 0){
var request = token+'=1&libraries='+JSON.stringify(libraries);
}
return jQuery.ajax({
type: 'GET',
url: getUrl,
dataType: 'json',
data: request,
jsonp: false
});
}
function getSnippets(){
jQuery("#loading").show();
// clear the selection
jQuery('#jform_snippet').find('option').remove().end();
jQuery('#jform_snippet').trigger('liszt:updated');
// get country value if set
// get libraries value if set
var libraries = jQuery("#jform_libraries").val();
if (libraries) {
getSnippets_server(libraries).done(function(result) {
getCodeFrom_server(1, JSON.stringify(libraries), 'libraries', 'getSnippets').done(function(result) {
setSnippets(result);
jQuery("#loading").hide();
if (typeof snippetButton !== 'undefined') {

View File

@ -700,11 +700,12 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
$tables = array(
'validation_rule', 'fieldtype', 'field', 'admin_view', 'snippet', 'dynamic_get', 'custom_admin_view', 'site_view',
'template', 'layout', 'joomla_component', 'language', 'language_translation', 'custom_code', 'placeholder', 'class_extends',
'joomla_module', 'joomla_module_files_folders_urls', 'joomla_module_updates',
'joomla_plugin_group', 'class_property', 'class_method', 'joomla_plugin', 'joomla_plugin_files_folders_urls', 'joomla_plugin_updates',
'admin_fields', 'admin_fields_conditions', 'admin_fields_relations', 'admin_custom_tabs', 'component_admin_views',
'component_site_views', 'component_custom_admin_views', 'component_updates', 'component_mysql_tweaks',
'component_custom_admin_menus', 'component_config', 'component_dashboard', 'component_files_folders',
'component_placeholders', 'component_plugins'
'component_placeholders', 'component_modules', 'component_plugins'
);
// get prefix
$prefix = $this->_db->getPrefix();
@ -2065,6 +2066,21 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
$item = $this->setNewID($item, 'joomla_component', 'joomla_component', $type);
}
break;
case 'component_modules':
// diverged id already updated
if (!$diverged)
{
// update the joomla_component ID where needed
$item = $this->setNewID($item, 'joomla_component', 'joomla_component', $type);
}
// subform fields to target
$updaterT = array(
// subformfield => array( field => type_value )
'addjoomla_modules' => array('module' => 'joomla_module')
);
// update the subform ids
$this->updateSubformsIDs($item, 'component_modules', $updaterT);
break;
case 'component_plugins':
// diverged id already updated
if (!$diverged)
@ -2096,6 +2112,31 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
// update the repeatable fields
$item = ComponentbuilderHelper::convertRepeatableFields($item, $updaterR);
break;
case 'joomla_module':
// update the custom_get
$item = $this->setNewID($item, 'custom_get', 'dynamic_get', $type);
// if we can't merge add postfix to name
if ($this->postfix)
{
$item->system_name = $item->system_name.$this->postfix;
}
// subform fields to target
$updaterT = array(
// subformfield => array( field => type_value )
'fields' => array('field' => 'field')
);
// update the subform ids
$this->updateSubformsIDs($item, 'joomla_module', $updaterT);
break;
case 'joomla_module_files_folders_urls':
case 'joomla_module_updates':
// diverged id already updated
if (!$diverged)
{
// update the joomla_module ID where needed
$item = $this->setNewID($item, 'joomla_module', 'joomla_module', $type);
}
break;
case 'joomla_plugin_group':
// diverged id already updated
if (!$diverged)
@ -2925,6 +2966,7 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
case 'component_dashboard':
case 'component_placeholders':
case 'component_files_folders':
case 'component_modules':
case 'component_plugins':
// get by joomla_component (since there should only be one of each component)
$getter = array('joomla_component');
@ -2956,6 +2998,46 @@ class ComponentbuilderModelImport_joomla_components extends JModelLegacy
// get by language tag since there should just be one
$getter = 'langtag';
break;
case 'joomla_module':
// get
if ($retry == 3)
{
// get by names, exteneded and group only
$getter = array('name', 'system_name');
}
elseif ($retry == 2)
{
// get by description
$getter = array('name', 'system_name', 'description');
$retryAgain = 3;
}
else
{
// get by id
$getter = array('id', 'name', 'system_name');
$retryAgain = 2;
}
break;
case 'joomla_module_files_folders_urls':
case 'joomla_module_updates':
// get by admin_view (since there should only be one of each name)
$getter = array('joomla_module');
$this->specialValue = array();
// Yet if diverged it makes sense that the ID is updated.
if ($diverged)
{
$this->specialValue['joomla_module'] = (int) $item->joomla_module;
}
elseif (isset($this->newID['joomla_module'][(int) $item->joomla_module]))
{
$this->specialValue['joomla_module'] = $this->newID['joomla_module'][(int) $item->joomla_module];
}
// (TODO) I have seen this happen, seems dangerous!
else
{
return false;
}
break;
case 'joomla_plugin':
// get
if ($retry == 3)

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