Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
f8b0a5df54
|
|||
714cb5588a
|
|||
c103c93e06
|
|||
112961dabf
|
|||
9d7ab17df6
|
|||
5a1ad16c9e
|
|||
6c2f52f59f
|
|||
209f625923
|
|||
3ca5548481
|
|||
4bed7a52da
|
|||
ca7138cb4a
|
|||
b3ced491d7
|
|||
3aaa91daf7
|
|||
ce13c13f05
|
|||
101f0e65ed
|
|||
51e786a197
|
|||
c55fc67db4
|
|||
fd08d48baf
|
65
CHANGELOG.md
65
CHANGELOG.md
@ -1,3 +1,68 @@
|
|||||||
|
# v3.2.5
|
||||||
|
|
||||||
|
- Add [AllowDynamicProperties] in the base view class for J5
|
||||||
|
- Move the _prepareDocument above the display call in the base view class
|
||||||
|
- Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run.
|
||||||
|
- Added new import powers for custom import of spreadsheets.
|
||||||
|
- Move the setDocument and _prepareDocument above the display in the site view and custom admin view.
|
||||||
|
- Update the trashhelper layout to work in Joomla 5.
|
||||||
|
- Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues.
|
||||||
|
- Fix Save failed issue in dynamicGet. #1148
|
||||||
|
- Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]
|
||||||
|
- Add the DateHelper class and improve the date methods.
|
||||||
|
- Add simple SessionHelper class.
|
||||||
|
- Add first classes for the new import engine.
|
||||||
|
- Improve the [VDM Registry] to be Joomla Registry Compatible
|
||||||
|
- Move all registries to the [VDM Registry] class
|
||||||
|
- Fix Checked Out to be null and not 0. (#1194)
|
||||||
|
- Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194)
|
||||||
|
- Update all core date fields in table class. (#1188)
|
||||||
|
- Update created_by, modified_by, checked_out fields in table class.
|
||||||
|
- Implementation of the decentralized Super-Power CORE repository network. (#1190)
|
||||||
|
- Fix the noticeboard to display Llewellyn's Joomla Social feed
|
||||||
|
|
||||||
|
# v3.2.4
|
||||||
|
|
||||||
|
- Add [push] option to Powers area.
|
||||||
|
- Fix [Save As Copy] error in library. #1162
|
||||||
|
- Fix error when no components exist. #1164
|
||||||
|
- Fix search page error caused by File class.
|
||||||
|
- Fix UserGroupList compiler triggers. #1100
|
||||||
|
- Add Power field type integration: init, reset, push.
|
||||||
|
- Fix database default fields to allow NULL. #1169
|
||||||
|
- Fix Power List field to allow searching. #1167
|
||||||
|
- Remove Demo component from JCB v3; add Hello World component as demo.
|
||||||
|
- Fix missing working path in ZIP.
|
||||||
|
- Fix demo site view to display files.
|
||||||
|
- Fix message for Field Type init.
|
||||||
|
- Ensure type-agnostic comparisons by casting to CHAR in joins for dynamic retrieval.
|
||||||
|
- Fix dynamic download in site area with correct namespace.
|
||||||
|
- Fix missing edit button on fields in related views.
|
||||||
|
- Fix dashboard display issues.
|
||||||
|
- Re-add search option in use field of related views.
|
||||||
|
- Fix namespace issue that broke the linker.
|
||||||
|
|
||||||
|
|
||||||
|
# v3.2.3
|
||||||
|
|
||||||
|
- Fix site view form missing classes in J4+
|
||||||
|
- Fix permissions tab in items in J4+
|
||||||
|
- Fix site display controller checkEditId function in J4+
|
||||||
|
- Add class methods to the HtmlView classes in J4+
|
||||||
|
- Fix broken toolbar call in HtmlView in J4+
|
||||||
|
- Fix missing scripts and styles fields and methods in the site admin view model
|
||||||
|
- Update subform field layout across JCB for cleaner look
|
||||||
|
- Remove expansion feature
|
||||||
|
- Fix helper area
|
||||||
|
- Fix database mySql update in J4+
|
||||||
|
- Remove phpspreadsheet completely from Joomla 4+
|
||||||
|
- Add option to use powers in preflight event in the installer class
|
||||||
|
- Fix abstract schema class function check default index warring
|
||||||
|
- Fix dynamicGet so that the table values will load again. #1155
|
||||||
|
- Keep jQuery in dynamicGet area for Joomla 3
|
||||||
|
- Add native plugin builder for Joomla 4 & 5
|
||||||
|
- Add basic API for admin views
|
||||||
|
|
||||||
# v3.2.2
|
# v3.2.2
|
||||||
|
|
||||||
- Fix auto build from SQL in Joomla 4 and 5.
|
- Fix auto build from SQL in Joomla 4 and 5.
|
||||||
|
16
README.md
16
README.md
@ -3,13 +3,13 @@
|
|||||||
|
|
||||||
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
||||||
|
|
||||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||||
|
|
||||||
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.2) with **ALL** its features and **ALL** concepts totally open-source and free!
|
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.5) 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)
|
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
@ -144,14 +144,14 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||||
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 20th July, 2024
|
+ *Last Build*: 14th February, 2025
|
||||||
+ *Version*: 3.2.2
|
+ *Version*: 3.2.5
|
||||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **796047**
|
+ *Line count*: **885901**
|
||||||
+ *Field count*: **2104**
|
+ *Field count*: **2098**
|
||||||
+ *File count*: **5469**
|
+ *File count*: **5977**
|
||||||
+ *Folder count*: **482**
|
+ *Folder count*: **507**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||||
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
|
|
||||||
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time.
|
||||||
|
|
||||||
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will save you lots of time and money. A real must have!
|
||||||
|
|
||||||
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.2) with **ALL** its features and **ALL** concepts totally open-source and free!
|
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.5) 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)
|
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
@ -144,14 +144,14 @@ TODO
|
|||||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||||
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
+ *First Build*: 30th April, 2015
|
+ *First Build*: 30th April, 2015
|
||||||
+ *Last Build*: 20th July, 2024
|
+ *Last Build*: 14th February, 2025
|
||||||
+ *Version*: 3.2.2
|
+ *Version*: 3.2.5
|
||||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
+ *Line count*: **796047**
|
+ *Line count*: **885901**
|
||||||
+ *Field count*: **2104**
|
+ *Field count*: **2098**
|
||||||
+ *File count*: **5469**
|
+ *File count*: **5977**
|
||||||
+ *Folder count*: **482**
|
+ *Folder count*: **507**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||||
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
<action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_COMPONENT_DESC" />
|
<action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_COMPONENT_DESC" />
|
||||||
<action name="core.edit.created_by" title="COM_COMPONENTBUILDER_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC" />
|
<action name="core.edit.created_by" title="COM_COMPONENTBUILDER_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC" />
|
||||||
<action name="core.edit.created" title="COM_COMPONENTBUILDER_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_EDIT_CREATED_DATE_DESC" />
|
<action name="core.edit.created" title="COM_COMPONENTBUILDER_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_EDIT_CREATED_DATE_DESC" />
|
||||||
<action name="admin_view.run_expansion" title="COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="admin_view.access" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC" />
|
<action name="admin_view.access" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC" />
|
||||||
<action name="admin_view.batch" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC" />
|
<action name="admin_view.batch" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC" />
|
||||||
<action name="admin_view.create" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC" />
|
<action name="admin_view.create" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC" />
|
||||||
@ -108,7 +107,6 @@
|
|||||||
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
|
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
|
||||||
<action name="compiler.compiler_animations" title="COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC" />
|
<action name="compiler.compiler_animations" title="COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="compiler.dashboard_list" title="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC" />
|
<action name="compiler.dashboard_list" title="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC" />
|
||||||
<action name="compiler.run_expansion" title="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="compiler.submenu" title="COM_COMPONENTBUILDER_COMPILER_SUBMENU" description="COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC" />
|
<action name="compiler.submenu" title="COM_COMPONENTBUILDER_COMPILER_SUBMENU" description="COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC" />
|
||||||
<action name="compiler.translate" title="COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS_DESC" />
|
<action name="compiler.translate" title="COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS_DESC" />
|
||||||
<action name="component_admin_views.access" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS_DESC" />
|
<action name="component_admin_views.access" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS_DESC" />
|
||||||
@ -264,7 +262,6 @@
|
|||||||
<action name="custom_code.export" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT_DESC" />
|
<action name="custom_code.export" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT_DESC" />
|
||||||
<action name="custom_code.import" title="COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT" description="COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT_DESC" />
|
<action name="custom_code.import" title="COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT" description="COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT_DESC" />
|
||||||
<action name="custom_code.submenu" title="COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU" description="COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC" />
|
<action name="custom_code.submenu" title="COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU" description="COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC" />
|
||||||
<action name="dynamic_get.run_expansion" title="COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="dynamic_get.access" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS_DESC" />
|
<action name="dynamic_get.access" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS_DESC" />
|
||||||
<action name="dynamic_get.batch" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE_DESC" />
|
<action name="dynamic_get.batch" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE_DESC" />
|
||||||
<action name="dynamic_get.create" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE_DESC" />
|
<action name="dynamic_get.create" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE_DESC" />
|
||||||
@ -278,7 +275,6 @@
|
|||||||
<action name="dynamic_get.export" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT_DESC" />
|
<action name="dynamic_get.export" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT_DESC" />
|
||||||
<action name="dynamic_get.import" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC" />
|
<action name="dynamic_get.import" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC" />
|
||||||
<action name="dynamic_get.submenu" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC" />
|
<action name="dynamic_get.submenu" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC" />
|
||||||
<action name="field.run_expansion" title="COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="field.access" title="COM_COMPONENTBUILDER_FIELDS_ACCESS" description="COM_COMPONENTBUILDER_FIELDS_ACCESS_DESC" />
|
<action name="field.access" title="COM_COMPONENTBUILDER_FIELDS_ACCESS" description="COM_COMPONENTBUILDER_FIELDS_ACCESS_DESC" />
|
||||||
<action name="field.batch" title="COM_COMPONENTBUILDER_FIELDS_BATCH_USE" description="COM_COMPONENTBUILDER_FIELDS_BATCH_USE_DESC" />
|
<action name="field.batch" title="COM_COMPONENTBUILDER_FIELDS_BATCH_USE" description="COM_COMPONENTBUILDER_FIELDS_BATCH_USE_DESC" />
|
||||||
<action name="field.create" title="COM_COMPONENTBUILDER_FIELDS_CREATE" description="COM_COMPONENTBUILDER_FIELDS_CREATE_DESC" />
|
<action name="field.create" title="COM_COMPONENTBUILDER_FIELDS_CREATE" description="COM_COMPONENTBUILDER_FIELDS_CREATE_DESC" />
|
||||||
@ -292,6 +288,9 @@
|
|||||||
<action name="field.export" title="COM_COMPONENTBUILDER_FIELDS_EXPORT" description="COM_COMPONENTBUILDER_FIELDS_EXPORT_DESC" />
|
<action name="field.export" title="COM_COMPONENTBUILDER_FIELDS_EXPORT" description="COM_COMPONENTBUILDER_FIELDS_EXPORT_DESC" />
|
||||||
<action name="field.import" title="COM_COMPONENTBUILDER_FIELDS_IMPORT" description="COM_COMPONENTBUILDER_FIELDS_IMPORT_DESC" />
|
<action name="field.import" title="COM_COMPONENTBUILDER_FIELDS_IMPORT" description="COM_COMPONENTBUILDER_FIELDS_IMPORT_DESC" />
|
||||||
<action name="field.submenu" title="COM_COMPONENTBUILDER_FIELDS_SUBMENU" description="COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC" />
|
<action name="field.submenu" title="COM_COMPONENTBUILDER_FIELDS_SUBMENU" description="COM_COMPONENTBUILDER_FIELDS_SUBMENU_DESC" />
|
||||||
|
<action name="fieldtype.init" title="COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="fieldtype.push" title="COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="fieldtype.reset" title="COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC" />
|
||||||
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
|
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
|
||||||
<action name="fieldtype.batch" title="COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE" description="COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE_DESC" />
|
<action name="fieldtype.batch" title="COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE" description="COM_COMPONENTBUILDER_FIELDTYPES_BATCH_USE_DESC" />
|
||||||
<action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" />
|
<action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" />
|
||||||
@ -330,7 +329,6 @@
|
|||||||
<action name="joomla_component.clone" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS_DESC" />
|
<action name="joomla_component.clone" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS_DESC" />
|
||||||
<action name="joomla_component.export_jcb_packages" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC" />
|
<action name="joomla_component.export_jcb_packages" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC" />
|
||||||
<action name="joomla_component.import_jcb_packages" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC" />
|
<action name="joomla_component.import_jcb_packages" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC" />
|
||||||
<action name="joomla_component.run_expansion" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" />
|
<action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" />
|
||||||
<action name="joomla_component.batch" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC" />
|
<action name="joomla_component.batch" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC" />
|
||||||
<action name="joomla_component.create" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE_DESC" />
|
<action name="joomla_component.create" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE_DESC" />
|
||||||
@ -344,7 +342,6 @@
|
|||||||
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
|
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
|
||||||
<action name="joomla_component.submenu" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_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.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.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.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.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_CREATE_DESC" />
|
||||||
@ -385,7 +382,6 @@
|
|||||||
<action name="joomla_plugin_group.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_EDIT_VERSION_DESC" />
|
<action name="joomla_plugin_group.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_GROUPS_EDIT_VERSION_DESC" />
|
||||||
<action name="joomla_plugin.methods" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_METHODS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_METHODS_BUTTON_ACCESS_DESC" />
|
<action name="joomla_plugin.methods" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_METHODS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_METHODS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="joomla_plugin.properties" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS_DESC" />
|
<action name="joomla_plugin.properties" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS_DESC" />
|
||||||
<action name="joomla_plugin.run_expansion" title="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGIN_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="joomla_plugin.access" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS_DESC" />
|
<action name="joomla_plugin.access" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS_DESC" />
|
||||||
<action name="joomla_plugin.batch" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_BATCH_USE_DESC" />
|
<action name="joomla_plugin.batch" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_BATCH_USE_DESC" />
|
||||||
<action name="joomla_plugin.create" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_CREATE_DESC" />
|
<action name="joomla_plugin.create" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_CREATE_DESC" />
|
||||||
@ -508,8 +504,8 @@
|
|||||||
<action name="placeholder.import" title="COM_COMPONENTBUILDER_PLACEHOLDERS_IMPORT" description="COM_COMPONENTBUILDER_PLACEHOLDERS_IMPORT_DESC" />
|
<action name="placeholder.import" title="COM_COMPONENTBUILDER_PLACEHOLDERS_IMPORT" description="COM_COMPONENTBUILDER_PLACEHOLDERS_IMPORT_DESC" />
|
||||||
<action name="placeholder.submenu" title="COM_COMPONENTBUILDER_PLACEHOLDERS_SUBMENU" description="COM_COMPONENTBUILDER_PLACEHOLDERS_SUBMENU_DESC" />
|
<action name="placeholder.submenu" title="COM_COMPONENTBUILDER_PLACEHOLDERS_SUBMENU" description="COM_COMPONENTBUILDER_PLACEHOLDERS_SUBMENU_DESC" />
|
||||||
<action name="power.init" title="COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS_DESC" />
|
<action name="power.init" title="COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="power.push" title="COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC" />
|
||||||
<action name="power.reset" title="COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC" />
|
<action name="power.reset" title="COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC" />
|
||||||
<action name="power.run_expansion" title="COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="power.access" title="COM_COMPONENTBUILDER_POWERS_ACCESS" description="COM_COMPONENTBUILDER_POWERS_ACCESS_DESC" />
|
<action name="power.access" title="COM_COMPONENTBUILDER_POWERS_ACCESS" description="COM_COMPONENTBUILDER_POWERS_ACCESS_DESC" />
|
||||||
<action name="power.batch" title="COM_COMPONENTBUILDER_POWERS_BATCH_USE" description="COM_COMPONENTBUILDER_POWERS_BATCH_USE_DESC" />
|
<action name="power.batch" title="COM_COMPONENTBUILDER_POWERS_BATCH_USE" description="COM_COMPONENTBUILDER_POWERS_BATCH_USE_DESC" />
|
||||||
<action name="power.create" title="COM_COMPONENTBUILDER_POWERS_CREATE" description="COM_COMPONENTBUILDER_POWERS_CREATE_DESC" />
|
<action name="power.create" title="COM_COMPONENTBUILDER_POWERS_CREATE" description="COM_COMPONENTBUILDER_POWERS_CREATE_DESC" />
|
||||||
@ -586,7 +582,6 @@
|
|||||||
<action name="template.export" title="COM_COMPONENTBUILDER_TEMPLATES_EXPORT" description="COM_COMPONENTBUILDER_TEMPLATES_EXPORT_DESC" />
|
<action name="template.export" title="COM_COMPONENTBUILDER_TEMPLATES_EXPORT" description="COM_COMPONENTBUILDER_TEMPLATES_EXPORT_DESC" />
|
||||||
<action name="template.import" title="COM_COMPONENTBUILDER_TEMPLATES_IMPORT" description="COM_COMPONENTBUILDER_TEMPLATES_IMPORT_DESC" />
|
<action name="template.import" title="COM_COMPONENTBUILDER_TEMPLATES_IMPORT" description="COM_COMPONENTBUILDER_TEMPLATES_IMPORT_DESC" />
|
||||||
<action name="template.submenu" title="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU" description="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC" />
|
<action name="template.submenu" title="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU" description="COM_COMPONENTBUILDER_TEMPLATES_SUBMENU_DESC" />
|
||||||
<action name="validation_rule.run_expansion" title="COM_COMPONENTBUILDER_VALIDATION_RULE_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_VALIDATION_RULE_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="validation_rule.access" title="COM_COMPONENTBUILDER_VALIDATION_RULES_ACCESS" description="COM_COMPONENTBUILDER_VALIDATION_RULES_ACCESS_DESC" />
|
<action name="validation_rule.access" title="COM_COMPONENTBUILDER_VALIDATION_RULES_ACCESS" description="COM_COMPONENTBUILDER_VALIDATION_RULES_ACCESS_DESC" />
|
||||||
<action name="validation_rule.batch" title="COM_COMPONENTBUILDER_VALIDATION_RULES_BATCH_USE" description="COM_COMPONENTBUILDER_VALIDATION_RULES_BATCH_USE_DESC" />
|
<action name="validation_rule.batch" title="COM_COMPONENTBUILDER_VALIDATION_RULES_BATCH_USE" description="COM_COMPONENTBUILDER_VALIDATION_RULES_BATCH_USE_DESC" />
|
||||||
<action name="validation_rule.create" title="COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE" description="COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE_DESC" />
|
<action name="validation_rule.create" title="COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE" description="COM_COMPONENTBUILDER_VALIDATION_RULES_CREATE_DESC" />
|
||||||
|
@ -17,3 +17,96 @@ html, body {
|
|||||||
-webkit-box-shadow: 0 0 7px 1px #f0f0f0;
|
-webkit-box-shadow: 0 0 7px 1px #f0f0f0;
|
||||||
box-shadow: 0 0 7px 1px #f0f0f0;
|
box-shadow: 0 0 7px 1px #f0f0f0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Spinning effect within the mastadon-display-block */
|
||||||
|
.mastadon-display-block .spinning i {
|
||||||
|
animation: spin 1s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mastadon-display-block .enlarge-and-disappear {
|
||||||
|
animation: enlarge-fade-out 1s forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
from {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes enlarge-fade-out {
|
||||||
|
0% {
|
||||||
|
transform: scale(1);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: scale(2);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Placeholder container scoped to mastadon-display-block */
|
||||||
|
.mastadon-display-block .placeholder {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
padding: 16px;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mastadon-display-block .placeholder-line {
|
||||||
|
height: 12px;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
border-radius: 4px;
|
||||||
|
animation: pulse 1.5s infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mastadon-display-block .placeholder-line:nth-child(1) {
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
.mastadon-display-block .placeholder-line:nth-child(2) {
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
.mastadon-display-block .placeholder-line:nth-child(3) {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mastadon-display-block .placeholder-circle {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
border-radius: 50%;
|
||||||
|
animation: pulse 1.5s infinite;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes pulse {
|
||||||
|
0% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.mastadon-display-block .loading {
|
||||||
|
visibility: visible;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.social-icon-details {
|
||||||
|
min-height: 50px;
|
||||||
|
width: 100%;
|
||||||
|
padding: 5px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 10px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
302
admin/assets/js/compiler.js
Normal file
302
admin/assets/js/compiler.js
Normal file
@ -0,0 +1,302 @@
|
|||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* JS Document */
|
||||||
|
class MastodonFeed {
|
||||||
|
constructor(containerId, refreshButtonId) {
|
||||||
|
this.container = document.getElementById(containerId);
|
||||||
|
this.refreshButton = document.getElementById(refreshButtonId);
|
||||||
|
|
||||||
|
// Get settings from data attributes
|
||||||
|
this.mastodonInstance = this.container.dataset.instance;
|
||||||
|
this.accountId = this.container.dataset.accountId;
|
||||||
|
this.postCount = parseInt(this.container.dataset.postCount) || 5;
|
||||||
|
|
||||||
|
this.cacheKey = "mastodon-feed-cache";
|
||||||
|
this.cacheExpiration = 24 * 60 * 60 * 1000; // 24 hours in milliseconds
|
||||||
|
|
||||||
|
// Initialize the feed
|
||||||
|
this.initFeed();
|
||||||
|
|
||||||
|
// Attach event listener for the refresh button
|
||||||
|
this.refreshButton.addEventListener("click", () => this.clearCacheAndReload());
|
||||||
|
}
|
||||||
|
|
||||||
|
async initFeed() {
|
||||||
|
const cachedData = this.getCachedData();
|
||||||
|
|
||||||
|
if (cachedData) {
|
||||||
|
this.renderFeed(cachedData);
|
||||||
|
} else {
|
||||||
|
await this.loadFeed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getCachedData() {
|
||||||
|
const cache = localStorage.getItem(this.cacheKey);
|
||||||
|
if (!cache) return null;
|
||||||
|
|
||||||
|
const parsedCache = JSON.parse(cache);
|
||||||
|
const now = new Date().getTime();
|
||||||
|
|
||||||
|
if (now - parsedCache.timestamp > this.cacheExpiration) {
|
||||||
|
// Cache is expired
|
||||||
|
this.clearCache();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return parsedCache.data;
|
||||||
|
}
|
||||||
|
|
||||||
|
setCachedData(data) {
|
||||||
|
const cache = {
|
||||||
|
timestamp: new Date().getTime(),
|
||||||
|
data: data,
|
||||||
|
};
|
||||||
|
localStorage.setItem(this.cacheKey, JSON.stringify(cache));
|
||||||
|
}
|
||||||
|
|
||||||
|
clearCache() {
|
||||||
|
localStorage.removeItem(this.cacheKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
async loadFeed() {
|
||||||
|
try {
|
||||||
|
const response = await fetch(`${this.mastodonInstance}/api/v1/accounts/${this.accountId}/statuses?limit=${this.postCount}`);
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`Failed to fetch Mastodon feed: ${response.statusText}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const posts = await response.json();
|
||||||
|
this.setCachedData(posts); // Cache the data
|
||||||
|
this.renderFeed(posts);
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error loading Mastodon feed:", error);
|
||||||
|
this.container.innerHTML = `<div class="alert alert-danger">Error loading feed. Please try again later.</div>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
renderFeed(posts) {
|
||||||
|
// Clear existing content
|
||||||
|
this.container.innerHTML = "";
|
||||||
|
|
||||||
|
posts.forEach(post => {
|
||||||
|
if (!post.content) return; // Ignore posts with no content
|
||||||
|
|
||||||
|
// Create post element
|
||||||
|
const listItem = document.createElement("div");
|
||||||
|
listItem.className = "well well-small";
|
||||||
|
|
||||||
|
const postContent = document.createElement("div");
|
||||||
|
|
||||||
|
const user = post.account;
|
||||||
|
const avatar = user.avatar_static;
|
||||||
|
const displayName = user.display_name || user.username;
|
||||||
|
|
||||||
|
// User header
|
||||||
|
const header = document.createElement("div");
|
||||||
|
header.className = "media";
|
||||||
|
|
||||||
|
const avatarLink = document.createElement("a");
|
||||||
|
avatarLink.href = user.url;
|
||||||
|
avatarLink.className = "pull-left";
|
||||||
|
|
||||||
|
const avatarImg = document.createElement("img");
|
||||||
|
avatarImg.src = avatar;
|
||||||
|
avatarImg.alt = displayName;
|
||||||
|
avatarImg.className = "img-circle";
|
||||||
|
avatarImg.style.width = "40px";
|
||||||
|
|
||||||
|
avatarLink.appendChild(avatarImg);
|
||||||
|
|
||||||
|
const userInfo = document.createElement("div");
|
||||||
|
userInfo.className = "media-body";
|
||||||
|
|
||||||
|
const nameLink = document.createElement("a");
|
||||||
|
nameLink.href = user.url;
|
||||||
|
nameLink.className = "muted";
|
||||||
|
nameLink.textContent = displayName;
|
||||||
|
|
||||||
|
const username = document.createElement("span");
|
||||||
|
username.className = "small muted";
|
||||||
|
username.textContent = ` (@${user.username})`;
|
||||||
|
|
||||||
|
const userHeader = document.createElement("h5");
|
||||||
|
userHeader.appendChild(nameLink);
|
||||||
|
userHeader.appendChild(username);
|
||||||
|
|
||||||
|
userInfo.appendChild(userHeader);
|
||||||
|
|
||||||
|
header.appendChild(avatarLink);
|
||||||
|
header.appendChild(userInfo);
|
||||||
|
|
||||||
|
// Post content
|
||||||
|
const content = document.createElement("p");
|
||||||
|
content.innerHTML = post.content;
|
||||||
|
|
||||||
|
// Interactions
|
||||||
|
const interactions = document.createElement("div");
|
||||||
|
interactions.className = "btn-group";
|
||||||
|
|
||||||
|
// View Post link
|
||||||
|
const viewPost = document.createElement("a");
|
||||||
|
viewPost.href = post.url;
|
||||||
|
viewPost.className = "btn btn-small btn-primary";
|
||||||
|
viewPost.innerHTML = `View Post
|
||||||
|
<i class="icon-comments"></i> ${post.replies_count}
|
||||||
|
<i class="icon-thumbs-up"></i> ${post.favourites_count}
|
||||||
|
<i class="icon-loop"></i> ${post.reblogs_count}`;
|
||||||
|
interactions.appendChild(viewPost);
|
||||||
|
|
||||||
|
// Join Me link
|
||||||
|
const joinLink = document.createElement("a");
|
||||||
|
joinLink.href = "https://joomla.social/invite/gzAvC48K";
|
||||||
|
joinLink.className = "btn btn-small btn-success";
|
||||||
|
joinLink.textContent = "Join Me";
|
||||||
|
interactions.appendChild(joinLink);
|
||||||
|
|
||||||
|
// Assemble post
|
||||||
|
postContent.appendChild(header);
|
||||||
|
postContent.appendChild(content);
|
||||||
|
postContent.appendChild(interactions);
|
||||||
|
|
||||||
|
listItem.appendChild(postContent);
|
||||||
|
this.container.appendChild(listItem);
|
||||||
|
this.container.classList.remove('loading');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
clearCacheAndReload() {
|
||||||
|
// Add spinning effect to the refresh button
|
||||||
|
this.refreshButton.classList.add('spinning');
|
||||||
|
|
||||||
|
// Show placeholder content
|
||||||
|
this.container.classList.add('loading');
|
||||||
|
this.container.innerHTML = this.generatePlaceholder();
|
||||||
|
|
||||||
|
// Clear cache and reload feed
|
||||||
|
this.clearCache();
|
||||||
|
|
||||||
|
// Wait for 3 seconds
|
||||||
|
setTimeout(() => {
|
||||||
|
// Enlarge and fade out the refresh button
|
||||||
|
this.refreshButton.classList.add('enlarge-and-disappear');
|
||||||
|
|
||||||
|
// After the animation, reset the button and content
|
||||||
|
setTimeout(() => {
|
||||||
|
this.refreshButton.classList.remove('spinning', 'enlarge-and-disappear');
|
||||||
|
this.refreshButton.style.display = '';
|
||||||
|
|
||||||
|
// Remove placeholder and restore actual content
|
||||||
|
this.loadFeed();
|
||||||
|
}, 1000); // Animation time for fade-out
|
||||||
|
}, 3000); // Spinning duration
|
||||||
|
}
|
||||||
|
|
||||||
|
generatePlaceholder() {
|
||||||
|
let placeholders = '';
|
||||||
|
for (let i = 0; i < this.postCount; i++) {
|
||||||
|
placeholders += `
|
||||||
|
<div class="placeholder">
|
||||||
|
<div class="placeholder-circle"></div>
|
||||||
|
<div class="placeholder-line"></div>
|
||||||
|
<div class="placeholder-line"></div>
|
||||||
|
<div class="placeholder-line"></div>
|
||||||
|
<div class="placeholder-line"></div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
return placeholders;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class IconWaveAnimator {
|
||||||
|
constructor(containerId, detailsId) {
|
||||||
|
this.details = document.getElementById(detailsId);
|
||||||
|
this.container = document.getElementById(containerId);
|
||||||
|
this.icons = this.container.querySelectorAll("i");
|
||||||
|
this.links = this.container.querySelectorAll("a");
|
||||||
|
this.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
init() {
|
||||||
|
// set the icon hover events
|
||||||
|
this.setupHoverEvents();
|
||||||
|
|
||||||
|
// Random chance to do nothing (1 out of 10)
|
||||||
|
if (Math.random() < 0.1) return;
|
||||||
|
|
||||||
|
// Randomize the initial delay before starting
|
||||||
|
const initialDelay = Math.random() * 2000 + 2000; // 2–4 seconds
|
||||||
|
setTimeout(() => {
|
||||||
|
this.randomBehavior();
|
||||||
|
}, initialDelay);
|
||||||
|
|
||||||
|
// Occasionally trigger a second wave after 10 seconds
|
||||||
|
if (Math.random() > 0.5) {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.mexicanWave(false); // Reverse wave
|
||||||
|
}, 10000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mexicanWave(forward = true) {
|
||||||
|
let delay = 0;
|
||||||
|
const iconsArray = Array.from(this.icons);
|
||||||
|
|
||||||
|
(forward ? iconsArray : iconsArray.reverse()).forEach((icon) => {
|
||||||
|
setTimeout(() => {
|
||||||
|
icon.style.transition = "transform 0.3s ease-in-out";
|
||||||
|
icon.style.transform = "scale(1.3)";
|
||||||
|
setTimeout(() => {
|
||||||
|
icon.style.transform = "scale(1)";
|
||||||
|
}, 300);
|
||||||
|
}, delay);
|
||||||
|
delay += 150; // Stagger the effect for the wave
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
randomBehavior() {
|
||||||
|
const waveDirection = Math.random() > 0.5 ? "forward" : "backward";
|
||||||
|
const waveCount = Math.floor(Math.random() * 10) + 1; // 1 to 5 waves
|
||||||
|
const interval = Math.random() * 2000 + 3000; // 3 to 5 seconds
|
||||||
|
|
||||||
|
let executedCount = 0;
|
||||||
|
const intervalId = setInterval(() => {
|
||||||
|
if (executedCount >= waveCount) {
|
||||||
|
clearInterval(intervalId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.mexicanWave(waveDirection === "forward");
|
||||||
|
executedCount++;
|
||||||
|
}, interval);
|
||||||
|
}
|
||||||
|
|
||||||
|
setupHoverEvents() {
|
||||||
|
this.links.forEach((link) => {
|
||||||
|
link.addEventListener("mouseenter", () => this.showDetails(link));
|
||||||
|
link.addEventListener("mouseleave", () => this.clearDetails());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
showDetails(link) {
|
||||||
|
const description = link.dataset.description;
|
||||||
|
if (this.details && description) {
|
||||||
|
this.details.textContent = description;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
clearDetails() {
|
||||||
|
if (this.details) {
|
||||||
|
this.details.textContent = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -35,6 +35,9 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
$this->user = Factory::getUser();
|
$this->user = Factory::getUser();
|
||||||
// get global action permissions
|
// get global action permissions
|
||||||
$this->canDo = ###Component###Helper::getActions('###sview###');###CUSTOM_ADMIN_DIPLAY_METHOD###
|
$this->canDo = ###Component###Helper::getActions('###sview###');###CUSTOM_ADMIN_DIPLAY_METHOD###
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -96,7 +99,7 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
public function getDocument()
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document ??= JFactory::getDocument();
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
return $this->document;
|
return $this->document;
|
||||||
}
|
}
|
||||||
|
@ -72,11 +72,11 @@ class ###Component###View###View### extends HtmlView
|
|||||||
throw new Exception(implode("\n", $errors), 500);
|
throw new Exception(implode("\n", $errors), 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Display the template
|
|
||||||
parent::display($tpl);
|
|
||||||
|
|
||||||
// Set the document
|
// Set the document
|
||||||
$this->setDocument();
|
$this->setDocument();
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -113,6 +113,11 @@ class ###Component###View###View### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
protected function setDocument()
|
protected function setDocument()
|
||||||
{
|
{
|
||||||
|
// Load Core
|
||||||
|
Html::_('behavior.core');
|
||||||
|
// Load jQuery
|
||||||
|
Html::_('jquery.framework');
|
||||||
|
|
||||||
$isNew = ($this->item->id < 1);
|
$isNew = ($this->item->id < 1);
|
||||||
$this->getDocument()->setTitle(Text::_($isNew ? 'COM_###COMPONENT###_###VIEW###_NEW' : 'COM_###COMPONENT###_###VIEW###_EDIT'));
|
$this->getDocument()->setTitle(Text::_($isNew ? 'COM_###COMPONENT###_###VIEW###_NEW' : 'COM_###COMPONENT###_###VIEW###_EDIT'));
|
||||||
Html::_('stylesheet', "administrator/components/com_###component###/assets/css/###view###.css", ['version' => 'auto']);###AJAXTOKE######LINKEDVIEWTABLESCRIPTS###
|
Html::_('stylesheet', "administrator/components/com_###component###/assets/css/###view###.css", ['version' => 'auto']);###AJAXTOKE######LINKEDVIEWTABLESCRIPTS###
|
||||||
@ -126,7 +131,7 @@ class ###Component###View###View### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
public function getDocument()
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document ??= JFactory::getDocument();
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
return $this->document;
|
return $this->document;
|
||||||
}
|
}
|
||||||
|
@ -72,11 +72,11 @@ class ###Component###View###View### extends HtmlView
|
|||||||
throw new Exception(implode("\n", $errors), 500);
|
throw new Exception(implode("\n", $errors), 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Display the template
|
|
||||||
parent::display($tpl);
|
|
||||||
|
|
||||||
// Set the document
|
// Set the document
|
||||||
$this->setDocument();
|
$this->setDocument();
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -114,6 +114,11 @@ class ###Component###View###View### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
protected function setDocument()
|
protected function setDocument()
|
||||||
{
|
{
|
||||||
|
// Load Core
|
||||||
|
Html::_('behavior.core');
|
||||||
|
// Load jQuery
|
||||||
|
Html::_('jquery.framework');
|
||||||
|
|
||||||
$isNew = ($this->item->id < 1);
|
$isNew = ($this->item->id < 1);
|
||||||
$this->getDocument()->setTitle(Text::_($isNew ? 'COM_###COMPONENT###_###VIEW###_NEW' : 'COM_###COMPONENT###_###VIEW###_EDIT'));
|
$this->getDocument()->setTitle(Text::_($isNew ? 'COM_###COMPONENT###_###VIEW###_NEW' : 'COM_###COMPONENT###_###VIEW###_EDIT'));
|
||||||
// only add the ISIS template css & js if needed (default is 1 = true)
|
// only add the ISIS template css & js if needed (default is 1 = true)
|
||||||
@ -139,7 +144,7 @@ class ###Component###View###View### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
public function getDocument()
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document ??= JFactory::getDocument();
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
return $this->document;
|
return $this->document;
|
||||||
}
|
}
|
||||||
|
@ -100,4 +100,14 @@ class ###Component###ViewImport extends HtmlView
|
|||||||
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,4 +51,14 @@ class ###Component###View###View### extends HtmlView
|
|||||||
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,11 +65,11 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
throw new Exception(implode("\n", $errors), 500);
|
throw new Exception(implode("\n", $errors), 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Display the template
|
|
||||||
parent::display($tpl);
|
|
||||||
|
|
||||||
// Set the document
|
// Set the document
|
||||||
$this->setDocument();
|
$this->setDocument();
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -151,6 +151,11 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
protected function setDocument()
|
protected function setDocument()
|
||||||
{
|
{
|
||||||
|
// Load Core
|
||||||
|
Html::_('behavior.core');
|
||||||
|
// Load jQuery
|
||||||
|
Html::_('jquery.framework');
|
||||||
|
|
||||||
if (!isset($this->document))
|
if (!isset($this->document))
|
||||||
{
|
{
|
||||||
$this->document = Factory::getDocument();
|
$this->document = Factory::getDocument();
|
||||||
@ -192,7 +197,7 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
public function getDocument()
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document ??= JFactory::getDocument();
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
return $this->document;
|
return $this->document;
|
||||||
}###FILTERFUNCTIONS###
|
}###FILTERFUNCTIONS###
|
||||||
|
@ -35,6 +35,9 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
$this->user = Factory::getUser();
|
$this->user = Factory::getUser();
|
||||||
// get global action permissions
|
// get global action permissions
|
||||||
$this->canDo = ###Component###Helper::getActions('###sview###');###CUSTOM_ADMIN_DIPLAY_METHOD###
|
$this->canDo = ###Component###Helper::getActions('###sview###');###CUSTOM_ADMIN_DIPLAY_METHOD###
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -86,7 +89,7 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
public function getDocument()
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document ??= JFactory::getDocument();
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
return $this->document;
|
return $this->document;
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,9 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
$this->menu = $this->app->getMenu()->getActive();
|
$this->menu = $this->app->getMenu()->getActive();
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user = Factory::getUser();###SITE_DIPLAY_METHOD###
|
$this->user = Factory::getUser();###SITE_DIPLAY_METHOD###
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -78,7 +81,7 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
public function getDocument()
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document ??= JFactory::getDocument();
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
return $this->document;
|
return $this->document;
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,9 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
$this->menu = $this->app->getMenu()->getActive();
|
$this->menu = $this->app->getMenu()->getActive();
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user = Factory::getUser();###SITE_DIPLAY_METHOD###
|
$this->user = Factory::getUser();###SITE_DIPLAY_METHOD###
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -78,7 +81,7 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
public function getDocument()
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document ??= JFactory::getDocument();
|
$this->document ??= Factory::getDocument();
|
||||||
|
|
||||||
return $this->document;
|
return $this->document;
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,8 @@ HTML::_('bootstrap.renderModal');
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Script File of ###Component### Component
|
* Script File of ###Component### Component
|
||||||
|
*
|
||||||
|
* @since 1.5.0
|
||||||
*/
|
*/
|
||||||
class Com_###Component###InstallerScript
|
class Com_###Component###InstallerScript
|
||||||
{
|
{
|
||||||
@ -35,6 +37,7 @@ class Com_###Component###InstallerScript
|
|||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param ComponentAdapter $parent The object responsible for running this script
|
* @param ComponentAdapter $parent The object responsible for running this script
|
||||||
|
* @since 1.5.0
|
||||||
*/
|
*/
|
||||||
public function __construct(ComponentAdapter $parent) {}
|
public function __construct(ComponentAdapter $parent) {}
|
||||||
|
|
||||||
@ -44,6 +47,7 @@ class Com_###Component###InstallerScript
|
|||||||
* @param ComponentAdapter $parent The object responsible for running this script
|
* @param ComponentAdapter $parent The object responsible for running this script
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
|
* @since 1.5.0
|
||||||
*/
|
*/
|
||||||
public function install(ComponentAdapter $parent) {}
|
public function install(ComponentAdapter $parent) {}
|
||||||
|
|
||||||
@ -51,6 +55,8 @@ class Com_###Component###InstallerScript
|
|||||||
* Called on uninstallation
|
* Called on uninstallation
|
||||||
*
|
*
|
||||||
* @param ComponentAdapter $parent The object responsible for running this script
|
* @param ComponentAdapter $parent The object responsible for running this script
|
||||||
|
*
|
||||||
|
* @since 1.5.0
|
||||||
*/
|
*/
|
||||||
public function uninstall(ComponentAdapter $parent)
|
public function uninstall(ComponentAdapter $parent)
|
||||||
{###UNINSTALLSCRIPT###
|
{###UNINSTALLSCRIPT###
|
||||||
@ -68,6 +74,7 @@ class Com_###Component###InstallerScript
|
|||||||
* @param ComponentAdapter $parent The object responsible for running this script
|
* @param ComponentAdapter $parent The object responsible for running this script
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
|
* @since 1.5.0
|
||||||
*/
|
*/
|
||||||
public function update(ComponentAdapter $parent){}
|
public function update(ComponentAdapter $parent){}
|
||||||
|
|
||||||
@ -78,6 +85,7 @@ class Com_###Component###InstallerScript
|
|||||||
* @param ComponentAdapter $parent The object responsible for running this script
|
* @param ComponentAdapter $parent The object responsible for running this script
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
|
* @since 1.5.0
|
||||||
*/
|
*/
|
||||||
public function preflight($type, ComponentAdapter $parent)
|
public function preflight($type, ComponentAdapter $parent)
|
||||||
{
|
{
|
||||||
@ -121,6 +129,7 @@ class Com_###Component###InstallerScript
|
|||||||
* @param ComponentAdapter $parent The object responsible for running this script
|
* @param ComponentAdapter $parent The object responsible for running this script
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
|
* @since 1.5.0
|
||||||
*/
|
*/
|
||||||
public function postflight($type, ComponentAdapter $parent)
|
public function postflight($type, ComponentAdapter $parent)
|
||||||
{
|
{
|
||||||
@ -251,16 +260,27 @@ class Com_###Component###InstallerScript
|
|||||||
*/
|
*/
|
||||||
protected function classExists(string $className): bool
|
protected function classExists(string $className): bool
|
||||||
{
|
{
|
||||||
if (!class_exists($className, true))
|
if (class_exists($className, true))
|
||||||
{
|
{
|
||||||
###THREE_POWER_AUTOLOADER###
|
|
||||||
|
|
||||||
// Check again if the class now exists after requiring the autoloader
|
|
||||||
if (!class_exists($className, true))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Autoloaders to check
|
||||||
|
$autoloaders = [###INSTALLER_POWER_AUTOLOADER_ARRAY###];
|
||||||
|
|
||||||
|
foreach ($autoloaders as $autoloader)
|
||||||
|
{
|
||||||
|
if (file_exists($autoloader))
|
||||||
|
{
|
||||||
|
require_once $autoloader;
|
||||||
|
|
||||||
|
if (class_exists($className, true))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}###INSTALLERMETHODS###
|
}###INSTALLERMETHODS###
|
||||||
}
|
}
|
||||||
|
18
admin/compiler/joomla_3/script_powerloader.php
Normal file
18
admin/compiler/joomla_3/script_powerloader.php
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 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');
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die;###INSTALLER_POWER_HELPER###
|
@ -184,6 +184,12 @@
|
|||||||
"rename": false,
|
"rename": false,
|
||||||
"type": "file"
|
"type": "file"
|
||||||
},
|
},
|
||||||
|
"script_powerloader.php": {
|
||||||
|
"naam": "script_powerloader.php",
|
||||||
|
"path": "c0mp0n3nt/",
|
||||||
|
"rename": false,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
"install.mysql.utf8.sql": {
|
"install.mysql.utf8.sql": {
|
||||||
"naam": "install.mysql.utf8.sql",
|
"naam": "install.mysql.utf8.sql",
|
||||||
"path": "c0mp0n3nt/admin/sql",
|
"path": "c0mp0n3nt/admin/sql",
|
||||||
|
@ -25,17 +25,75 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The items from the model
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $items;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The state object
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $state;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The styles url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $styles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The scripts url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $scripts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The actions object
|
||||||
|
*
|
||||||
|
* @var object
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public object $canDo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The return here base64 url
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public string $return_here;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The user object.
|
||||||
|
*
|
||||||
|
* @var Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power $user;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Views### view display method
|
* ###Views### view display method
|
||||||
*
|
*
|
||||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws \Exception
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function display($tpl = null)
|
public function display($tpl = null): void
|
||||||
{
|
{
|
||||||
// Assign data to the view
|
// Assign data to the view
|
||||||
$this->items = $this->get('Items');
|
$this->items = $this->get('Items');
|
||||||
@ -43,7 +101,7 @@ class HtmlView extends BaseHtmlView
|
|||||||
$this->state = $this->get('State');
|
$this->state = $this->get('State');
|
||||||
$this->styles = $this->get('Styles');
|
$this->styles = $this->get('Styles');
|
||||||
$this->scripts = $this->get('Scripts');
|
$this->scripts = $this->get('Scripts');
|
||||||
$this->user ??= Factory::getApplication()->getIdentity();###ADMIN_DIPLAY_METHOD###
|
$this->user ??= $this->getCurrentUser();###ADMIN_DIPLAY_METHOD###
|
||||||
$this->saveOrder = $this->listOrder == 'a.ordering';
|
$this->saveOrder = $this->listOrder == 'a.ordering';
|
||||||
// set the return here value
|
// set the return here value
|
||||||
$this->return_here = urlencode(base64_encode((string) Uri::getInstance()));
|
$this->return_here = urlencode(base64_encode((string) Uri::getInstance()));
|
||||||
|
@ -52,7 +52,23 @@ class ###View###Controller extends FormController
|
|||||||
* @var string
|
* @var string
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
protected $view_list = '###views###';###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
protected $view_list = '###views###';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Referral value
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 5.0
|
||||||
|
*/
|
||||||
|
protected string $ref;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Referral ID value
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
* @since 5.0
|
||||||
|
*/
|
||||||
|
protected int $refid;###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method override to check if you can add a new record.
|
* Method override to check if you can add a new record.
|
||||||
|
@ -25,23 +25,105 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The item from the model
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $item;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The state object
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $state;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The form from the model
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The toolbar object
|
||||||
|
*
|
||||||
|
* @var Toolbar
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Toolbar $toolbar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The styles url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $styles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The scripts url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $scripts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The actions object
|
||||||
|
*
|
||||||
|
* @var object
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public object $canDo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The origin referral view name
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public string $ref;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The origin referral item id
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public int $refid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The referral url suffix values
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public string $referral;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###View### view display method
|
* ###View### view display method
|
||||||
*
|
*
|
||||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws \Exception
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function display($tpl = null)
|
public function display($tpl = null): void
|
||||||
{
|
{
|
||||||
// set params
|
// set params
|
||||||
$this->params = ComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
$this->useCoreUI = true;
|
$this->useCoreUI = true;
|
||||||
// Assign the variables
|
// Assign the variables
|
||||||
$this->form = $this->get('Form');
|
$this->form ??= $this->get('Form');
|
||||||
$this->item = $this->get('Item');
|
$this->item = $this->get('Item');
|
||||||
$this->styles = $this->get('Styles');
|
$this->styles = $this->get('Styles');
|
||||||
$this->scripts = $this->get('Scripts');
|
$this->scripts = $this->get('Scripts');
|
||||||
|
45
admin/compiler/joomla_4/API_VIEWS_CONTROLLER.php
Normal file
45
admin/compiler/joomla_4/API_VIEWS_CONTROLLER.php
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 4th September 2022
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this JCB template file (EVER)
|
||||||
|
defined('_JCB_TEMPLATE') or die;
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\Controller;
|
||||||
|
|
||||||
|
###API_VIEWS_CONTROLLER_HEADER###
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
\defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ###Views### Api Controller
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
class ###Views###Controller extends ApiController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The content type of the item.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
protected $contentType = '###views###';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The default view for the display method.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
protected $default_view = '###views###';
|
||||||
|
}
|
30
admin/compiler/joomla_4/API_VIEWS_JSON.php
Normal file
30
admin/compiler/joomla_4/API_VIEWS_JSON.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 4th September 2022
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this JCB template file (EVER)
|
||||||
|
defined('_JCB_TEMPLATE') or die;
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\View\###Views###;
|
||||||
|
|
||||||
|
###API_VIEWS_JSON_HEADER###
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
\defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ###Component### Json View class for the ###Views###
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
class JsonapiView extends BaseApiView
|
||||||
|
{
|
||||||
|
}
|
72
admin/compiler/joomla_4/API_VIEW_CONTROLLER.php
Normal file
72
admin/compiler/joomla_4/API_VIEW_CONTROLLER.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 4th September 2022
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this JCB template file (EVER)
|
||||||
|
defined('_JCB_TEMPLATE') or die;
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\Controller;
|
||||||
|
|
||||||
|
###API_VIEW_CONTROLLER_HEADER###
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
\defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ###View### Api Controller
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
class ###View###Controller extends ApiController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The content type of the item.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
protected $contentType = '###view###';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The default view for the display method.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
protected $default_view = '###view###';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 = [])
|
||||||
|
{###JCONTROLLERFORM_ALLOWADD###
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 = [], $key = 'id')
|
||||||
|
{###JCONTROLLERFORM_ALLOWEDIT###
|
||||||
|
}
|
||||||
|
}
|
30
admin/compiler/joomla_4/API_VIEW_JSON.php
Normal file
30
admin/compiler/joomla_4/API_VIEW_JSON.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 4th September 2022
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this JCB template file (EVER)
|
||||||
|
defined('_JCB_TEMPLATE') or die;
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Api\View\###View###;
|
||||||
|
|
||||||
|
###API_VIEW_JSON_HEADER###
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
\defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ###View### Json View class
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
class JsonapiView extends BaseApiView
|
||||||
|
{
|
||||||
|
}
|
@ -25,31 +25,67 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The styles url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $styles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The scripts url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $scripts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The actions object
|
||||||
|
*
|
||||||
|
* @var object
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public object $canDo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The user object.
|
||||||
|
*
|
||||||
|
* @var Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power $user;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display the view
|
* Display the view
|
||||||
*
|
*
|
||||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws \Exception
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function display($tpl = null)
|
public function display($tpl = null): void
|
||||||
{
|
{
|
||||||
// get component params
|
// get component params
|
||||||
$this->params = ComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
// get the application
|
// get the application
|
||||||
$this->app ??= Factory::getApplication();
|
$this->app ??= Factory::getApplication();
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user ??= $this->app->getIdentity();
|
$this->user ??= $this->getCurrentUser();
|
||||||
// get global action permissions
|
// get global action permissions
|
||||||
$this->canDo = ###Component###Helper::getActions('###sview###');
|
$this->canDo = ###Component###Helper::getActions('###sview###');
|
||||||
$this->styles = $this->get('Styles');
|
$this->styles = $this->get('Styles') ?? [];
|
||||||
$this->scripts = $this->get('Scripts');###CUSTOM_ADMIN_DIPLAY_METHOD###
|
$this->scripts = $this->get('Scripts') ?? [];###CUSTOM_ADMIN_DIPLAY_METHOD###
|
||||||
|
|
||||||
// Set the html view document stuff
|
// Set the html view document stuff
|
||||||
$this->_prepareDocument();
|
$this->_prepareDocument();
|
||||||
|
|
||||||
|
parent::display($tpl);
|
||||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -105,9 +105,12 @@ class ###SViews###Model extends ListModel
|
|||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A custom property for UIKit components. (not used unless you load v2)
|
* A custom property for UI Kit components.
|
||||||
|
*
|
||||||
|
* @var mixed Property for storing UI Kit component-related data or objects.
|
||||||
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
protected $uikitComp;
|
protected $uikitComp = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
@ -25,6 +25,7 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -33,9 +34,10 @@ class HtmlView extends BaseHtmlView
|
|||||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws \Exception
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function display($tpl = null)
|
public function display($tpl = null): void
|
||||||
{
|
{
|
||||||
// get component params
|
// get component params
|
||||||
$this->params = ComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
@ -50,6 +52,8 @@ class HtmlView extends BaseHtmlView
|
|||||||
|
|
||||||
// Set the html view document stuff
|
// Set the html view document stuff
|
||||||
$this->_prepareDocument();
|
$this->_prepareDocument();
|
||||||
|
|
||||||
|
parent::display($tpl);
|
||||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -115,10 +115,10 @@ class ###SView###Model extends ItemModel
|
|||||||
/**
|
/**
|
||||||
* A custom property for UI Kit components.
|
* A custom property for UI Kit components.
|
||||||
*
|
*
|
||||||
* @var array|null Property for storing UI Kit component-related data or objects.
|
* @var mixed Property for storing UI Kit component-related data or objects.
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
protected ?array $uikitComp;
|
protected $uikitComp = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var object item
|
* @var object item
|
||||||
|
@ -25,13 +25,17 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* View display method
|
* View display method
|
||||||
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws \Exception
|
||||||
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
function display($tpl = null)
|
function display($tpl = null): void
|
||||||
{
|
{
|
||||||
// Assign data to the view
|
// Assign data to the view
|
||||||
$this->icons = $this->get('Icons');
|
$this->icons = $this->get('Icons');
|
||||||
|
18
admin/compiler/joomla_4/INSTALLER_AUTOLOADER_CLASS.php
Normal file
18
admin/compiler/joomla_4/INSTALLER_AUTOLOADER_CLASS.php
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 4th September 2022
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this JCB template file (EVER)
|
||||||
|
defined('_JCB_TEMPLATE') or die;
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die;###INSTALLER_POWER_HELPER###
|
@ -162,7 +162,6 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
|
|||||||
* @param InstallerAdapter $adapter The adapter calling this method
|
* @param InstallerAdapter $adapter The adapter calling this method
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
*
|
|
||||||
* @since 4.2.0
|
* @since 4.2.0
|
||||||
*/
|
*/
|
||||||
public function install(InstallerAdapter $adapter): bool {return true;}
|
public function install(InstallerAdapter $adapter): bool {return true;}
|
||||||
@ -184,7 +183,6 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
|
|||||||
* @param InstallerAdapter $adapter The adapter calling this method
|
* @param InstallerAdapter $adapter The adapter calling this method
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
*
|
|
||||||
* @since 4.2.0
|
* @since 4.2.0
|
||||||
*/
|
*/
|
||||||
public function uninstall(InstallerAdapter $adapter): bool
|
public function uninstall(InstallerAdapter $adapter): bool
|
||||||
@ -207,7 +205,6 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
|
|||||||
* @param InstallerAdapter $adapter The adapter calling this method
|
* @param InstallerAdapter $adapter The adapter calling this method
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
*
|
|
||||||
* @since 4.2.0
|
* @since 4.2.0
|
||||||
*/
|
*/
|
||||||
public function preflight(string $type, InstallerAdapter $adapter): bool
|
public function preflight(string $type, InstallerAdapter $adapter): bool
|
||||||
@ -252,7 +249,6 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
|
|||||||
* @param InstallerAdapter $adapter The adapter calling this method
|
* @param InstallerAdapter $adapter The adapter calling this method
|
||||||
*
|
*
|
||||||
* @return boolean True on success
|
* @return boolean True on success
|
||||||
*
|
|
||||||
* @since 4.2.0
|
* @since 4.2.0
|
||||||
*/
|
*/
|
||||||
public function postflight(string $type, InstallerAdapter $adapter): bool
|
public function postflight(string $type, InstallerAdapter $adapter): bool
|
||||||
@ -355,7 +351,6 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
|
|||||||
* Remove the files and folders in the given array from
|
* Remove the files and folders in the given array from
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
|
||||||
* @since 3.6
|
* @since 3.6
|
||||||
*/
|
*/
|
||||||
protected function removeFiles()
|
protected function removeFiles()
|
||||||
@ -387,7 +382,6 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
|
|||||||
* Moves the CLI scripts into the CLI folder in the CMS
|
* Moves the CLI scripts into the CLI folder in the CMS
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
|
||||||
* @since 3.6
|
* @since 3.6
|
||||||
*/
|
*/
|
||||||
protected function moveCliFiles()
|
protected function moveCliFiles()
|
||||||
@ -1180,16 +1174,27 @@ class Com_###Component###InstallerScript implements InstallerScriptInterface
|
|||||||
*/
|
*/
|
||||||
protected function classExists(string $className): bool
|
protected function classExists(string $className): bool
|
||||||
{
|
{
|
||||||
if (!class_exists($className, true))
|
if (class_exists($className, true))
|
||||||
{
|
{
|
||||||
###THREE_POWER_AUTOLOADER###
|
|
||||||
|
|
||||||
// Check again if the class now exists after requiring the autoloader
|
|
||||||
if (!class_exists($className, true))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Autoloaders to check
|
||||||
|
$autoloaders = [###INSTALLER_POWER_AUTOLOADER_ARRAY###];
|
||||||
|
|
||||||
|
foreach ($autoloaders as $autoloader)
|
||||||
|
{
|
||||||
|
if (file_exists($autoloader))
|
||||||
|
{
|
||||||
|
require_once $autoloader;
|
||||||
|
|
||||||
|
if (class_exists($className, true))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}###INSTALLERMETHODS###
|
}###INSTALLERMETHODS###
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,86 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\View\###
|
|||||||
*/
|
*/
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The item from the model
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $item;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The state object
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $state;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The form from the model
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The toolbar object
|
||||||
|
*
|
||||||
|
* @var Toolbar
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Toolbar $toolbar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The styles url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $styles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The scripts url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $scripts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The actions object
|
||||||
|
*
|
||||||
|
* @var object
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public object $canDo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The origin referral view name
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public string $ref;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The origin referral view item id
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public int $refid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The referral url suffix values
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public string $referral;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###View### view display method
|
* ###View### view display method
|
||||||
*
|
*
|
||||||
@ -41,11 +121,11 @@ class HtmlView extends BaseHtmlView
|
|||||||
$this->params = ComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
$this->useCoreUI = true;
|
$this->useCoreUI = true;
|
||||||
// Assign the variables
|
// Assign the variables
|
||||||
$this->form = $this->get('Form');
|
$this->form ??= $this->get('Form');
|
||||||
$this->item = $this->get('Item');
|
$this->item = $this->get('Item');
|
||||||
$this->state = $this->get('State');
|
$this->state = $this->get('State');
|
||||||
$this->styles = $this->get('Styles');
|
$this->styles = $this->get('Styles') ?? [];
|
||||||
$this->scripts = $this->get('Scripts');
|
$this->scripts = $this->get('Scripts') ?? [];
|
||||||
// get action permissions
|
// get action permissions
|
||||||
$this->canDo = ###Component###Helper::getActions('###view###', $this->item);
|
$this->canDo = ###Component###Helper::getActions('###view###', $this->item);
|
||||||
// get input
|
// get input
|
||||||
@ -97,6 +177,9 @@ class HtmlView extends BaseHtmlView
|
|||||||
protected function addToolbar(): void
|
protected function addToolbar(): void
|
||||||
{
|
{
|
||||||
###ADDTOOLBAR###
|
###ADDTOOLBAR###
|
||||||
|
|
||||||
|
// now initiate the toolbar
|
||||||
|
$this->toolbar ??= Toolbar::getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,6 +36,28 @@ class ###View###Model extends AdminModel
|
|||||||
*/
|
*/
|
||||||
protected $tabLayoutFields = ###TABLAYOUTFIELDSARRAY###;
|
protected $tabLayoutFields = ###TABLAYOUTFIELDSARRAY###;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The styles array.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 4.3
|
||||||
|
*/
|
||||||
|
protected array $styles = [
|
||||||
|
'components/com_###component###/assets/css/site.css',
|
||||||
|
'components/com_###component###/assets/css/###view###.css'
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The scripts array.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 4.3
|
||||||
|
*/
|
||||||
|
protected array $scripts = [
|
||||||
|
'components/com_###component###/assets/js/site.js',
|
||||||
|
'media/com_###component###/js/###view###.js'
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string The prefix to use with controller messages.
|
* @var string The prefix to use with controller messages.
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
@ -119,13 +141,47 @@ class ###View###Model extends AdminModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method to get the script that have to be included on the form
|
* Method to get the styles that have to be included on the view
|
||||||
*
|
*
|
||||||
* @return string script files
|
* @return array styles files
|
||||||
|
* @since 4.3
|
||||||
*/
|
*/
|
||||||
public function getScript()
|
public function getStyles(): array
|
||||||
{
|
{
|
||||||
return 'media/com_###component###/js/###view###.js';
|
return $this->styles;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to set the styles that have to be included on the view
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 4.3
|
||||||
|
*/
|
||||||
|
public function setStyles(string $path): void
|
||||||
|
{
|
||||||
|
$this->styles[] = $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to get the script that have to be included on the view
|
||||||
|
*
|
||||||
|
* @return array script files
|
||||||
|
* @since 4.3
|
||||||
|
*/
|
||||||
|
public function getScripts(): array
|
||||||
|
{
|
||||||
|
return $this->scripts;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to set the script that have to be included on the view
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 4.3
|
||||||
|
*/
|
||||||
|
public function setScript(string $path): void
|
||||||
|
{
|
||||||
|
$this->scripts[] = $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,9 +15,13 @@ defined('_JCB_TEMPLATE') or die;
|
|||||||
###BOM###
|
###BOM###
|
||||||
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\Controller;
|
namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\Controller;
|
||||||
|
|
||||||
|
use Joomla\Input\Input;
|
||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Application\CMSApplication;
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||||
use Joomla\CMS\Router\Route;
|
use Joomla\CMS\Router\Route;
|
||||||
|
use Joomla\CMS\User\User;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
|
|
||||||
@ -31,13 +35,50 @@ use Joomla\CMS\Language\Text;
|
|||||||
*/
|
*/
|
||||||
class DisplayController extends BaseController
|
class DisplayController extends BaseController
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The allowed edit views.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
protected array $allowed_edit_views = [###SITE_ALLOW_EDIT_VIEWS_ARRAY###
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The application identity object.
|
||||||
|
*
|
||||||
|
* @var User
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
protected $identity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $config An optional associative array of configuration settings.
|
||||||
|
* Recognized key values include 'name', 'default_task', 'model_path', and
|
||||||
|
* 'view_path' (this list is not meant to be comprehensive).
|
||||||
|
* @param MVCFactoryInterface|null $factory The factory.
|
||||||
|
* @param CMSApplication|null $app The Application for the dispatcher
|
||||||
|
* @param Input|null $input The Input object for the request
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
* @since 3.0.1
|
||||||
|
*/
|
||||||
|
public function __construct($config = [], MVCFactoryInterface $factory = null, $app = null, $input = null)
|
||||||
|
{
|
||||||
|
$app ??= Factory::getApplication();
|
||||||
|
$this->identity ??= $app->getIdentity();
|
||||||
|
|
||||||
|
parent::__construct($config, $factory, $app, $input);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method to display a view.
|
* Method to display a view.
|
||||||
*
|
*
|
||||||
* @param boolean $cachable If true, the view output will be cached.
|
* @param boolean $cachable If true, the view output will be cached.
|
||||||
* @param boolean $urlparams An array of safe URL parameters and their variable types, for valid values see {@link InputFilter::clean()}.
|
* @param boolean|array $urlparams An array of safe URL parameters and their variable types, for valid values see {@link InputFilter::clean()}.
|
||||||
*
|
*
|
||||||
* @return DisplayController This object to support chaining.
|
* @return DisplayController This object to support chaining.
|
||||||
|
* @throws \Exception
|
||||||
* @since 1.5
|
* @since 1.5
|
||||||
*/
|
*/
|
||||||
function display($cachable = false, $urlparams = false)
|
function display($cachable = false, $urlparams = false)
|
||||||
@ -51,14 +92,13 @@ class DisplayController extends BaseController
|
|||||||
$cachable = true;
|
$cachable = true;
|
||||||
|
|
||||||
// ensure that the view is not cashable if edit view or if user is logged in
|
// ensure that the view is not cashable if edit view or if user is logged in
|
||||||
$user = $this->app->getIdentity();
|
if ($this->identity->get('id') || $this->input->getMethod() === 'POST' || $isEdit)
|
||||||
if ($user->get('id') || $this->input->getMethod() === 'POST' || $isEdit)
|
|
||||||
{
|
{
|
||||||
$cachable = false;
|
$cachable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for edit form.
|
// Check for edit form.
|
||||||
if ($isEdit && !$this->checkEditId('com_###component###.edit.'.$view, $id))
|
if ($isEdit && !$this->checkEditId($view, $id))
|
||||||
{
|
{
|
||||||
// check if item was opened from other than its own list view
|
// check if item was opened from other than its own list view
|
||||||
$ref = $this->input->getCmd('ref', 0);
|
$ref = $this->input->getCmd('ref', 0);
|
||||||
@ -115,18 +155,133 @@ class DisplayController extends BaseController
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function checkEditView($view)
|
/**
|
||||||
|
* Method to check whether an ID is in the edit list.
|
||||||
|
*
|
||||||
|
* @param string $context The view name.
|
||||||
|
* @param integer $id The ID of the record to add to the edit list.
|
||||||
|
*
|
||||||
|
* @return boolean True if the ID is in the edit list.
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
protected function checkEditId($context, $id)
|
||||||
|
{
|
||||||
|
if (parent::checkEditId("com_###component###.edit.{$context}", $id))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check user edit access
|
||||||
|
if ($this->canEditId($context, $id))
|
||||||
|
{
|
||||||
|
$this->holdEditId("com_###component###.edit.{$context}", $id);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to check whether an ID is allowed to be edited by the active user.
|
||||||
|
*
|
||||||
|
* @param string $view The view name.
|
||||||
|
* @param integer $id The ID of the record to add to the edit list.
|
||||||
|
*
|
||||||
|
* @return boolean True if the ID is in the edit list.
|
||||||
|
*
|
||||||
|
* @since 5.0.2
|
||||||
|
*/
|
||||||
|
protected function canEditId($view, $id): bool
|
||||||
|
{
|
||||||
|
// check that this view is even allowed
|
||||||
|
$allowed = $this->getAllowedEditView($view);
|
||||||
|
if ($allowed === null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if this item has custom function set for canEditId
|
||||||
|
if (isset($allowed['function'])
|
||||||
|
&& method_exists($this, $allowed['function'])
|
||||||
|
&& $this->{$allowed['function']}(['id' => $id], 'id'))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if this item can be accessed (and has access)
|
||||||
|
$access = true;
|
||||||
|
if (isset($allowed['access']))
|
||||||
|
{
|
||||||
|
$access = ($this->identity->authorise($allowed['access'], "com_###component###.{$view}." . (int) $id)
|
||||||
|
&& $this->identity->authorise($allowed['access'], 'com_###component###'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if this item can be edited
|
||||||
|
$edit = false;
|
||||||
|
if ($access && isset($allowed['edit']))
|
||||||
|
{
|
||||||
|
$edit = ($this->identity->authorise($allowed['edit'], "com_###component###.{$view}." . (int) $id)
|
||||||
|
&& $this->identity->authorise($allowed['edit'], 'com_###component###'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if this item can be edited by owner
|
||||||
|
if ($access && !$edit && isset($allowed['edit.own']))
|
||||||
|
{
|
||||||
|
$edit = ($this->identity->authorise($allowed['edit.own'], "com_###component###.{$view}." . (int) $id)
|
||||||
|
&& $this->identity->authorise($allowed['edit.own'], 'com_###component###'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $edit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the provided view is an edit view.
|
||||||
|
*
|
||||||
|
* This method verifies whether the given view name is recognized as an edit view.
|
||||||
|
* It uses the StringHelper::check() method to validate the input and then checks
|
||||||
|
* against a predefined list of edit views.
|
||||||
|
*
|
||||||
|
* @param string|null $view The name of the view to check.
|
||||||
|
*
|
||||||
|
* @return bool True if the view is an edit view, false otherwise.
|
||||||
|
* @since 4.0.0
|
||||||
|
*/
|
||||||
|
protected function checkEditView(?string $view): bool
|
||||||
{
|
{
|
||||||
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($view))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($view))
|
||||||
{
|
{
|
||||||
$views = [###SITE_EDIT_VIEW_ARRAY###
|
// check if this is an edit view
|
||||||
];
|
if (isset($this->allowed_edit_views[$view]))
|
||||||
// check if this is a edit view
|
|
||||||
if (in_array($view,$views))
|
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the allowed edit view permission map
|
||||||
|
*
|
||||||
|
* @param string|null $view The name of the view to check.
|
||||||
|
*
|
||||||
|
* @return array|null The permissions map
|
||||||
|
* @since 5.0.2
|
||||||
|
*/
|
||||||
|
protected function getAllowedEditView(?string $view): ?array
|
||||||
|
{
|
||||||
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($view))
|
||||||
|
{
|
||||||
|
// check if this is an edit view
|
||||||
|
if (isset($this->allowed_edit_views[$view]))
|
||||||
|
{
|
||||||
|
return $this->allowed_edit_views[$view];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}###SITE_ALLOW_EDIT_VIEWS_FUNCTIONS###
|
||||||
}
|
}
|
||||||
|
@ -27,15 +27,64 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\View\###
|
|||||||
*/
|
*/
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The items from the model
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public mixed $items;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The toolbar object
|
||||||
|
*
|
||||||
|
* @var Toolbar
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Toolbar $toolbar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The styles url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $styles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The scripts url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 5.0.0
|
||||||
|
*/
|
||||||
|
protected array $scripts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The actions object
|
||||||
|
*
|
||||||
|
* @var object
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public object $canDo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The user object.
|
||||||
|
*
|
||||||
|
* @var Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power $user;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display the view
|
* Display the view
|
||||||
*
|
*
|
||||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws \Exception
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function display($tpl = null)
|
public function display($tpl = null): void
|
||||||
{
|
{
|
||||||
// get combined params of both component and menu
|
// get combined params of both component and menu
|
||||||
$this->app ??= Factory::getApplication();
|
$this->app ??= Factory::getApplication();
|
||||||
@ -45,6 +94,8 @@ class HtmlView extends BaseHtmlView
|
|||||||
$this->scripts = $this->get('Scripts');
|
$this->scripts = $this->get('Scripts');
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user ??= $this->app->getIdentity();###SITE_DIPLAY_METHOD###
|
$this->user ??= $this->app->getIdentity();###SITE_DIPLAY_METHOD###
|
||||||
|
|
||||||
|
parent::display($tpl);
|
||||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -82,6 +133,7 @@ class HtmlView extends BaseHtmlView
|
|||||||
{
|
{
|
||||||
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
// now initiate the toolbar
|
// now initiate the toolbar
|
||||||
$this->toolbar = Toolbar::getInstance();
|
$this->toolbar = Toolbar::getInstance();
|
||||||
}###SITE_GET_MODULE###
|
}###SITE_GET_MODULE###
|
||||||
|
@ -25,7 +25,7 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\Controll
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
class ###SView###Controller extends FormController
|
class ###SView###Controller extends Joomla___907ccae5_57a9_44b9_a8aa_5b905d1cd70f___Power
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The prefix to use with controller messages.
|
* The prefix to use with controller messages.
|
||||||
@ -107,14 +107,14 @@ class ###SView###Controller extends FormController
|
|||||||
* Function that allows child controller access to model data
|
* Function that allows child controller access to model data
|
||||||
* after the data has been saved.
|
* after the data has been saved.
|
||||||
*
|
*
|
||||||
* @param BaseDatabaseModel $model The data model object.
|
* @param Joomla___6dce7a1b_cfc3_4c2a_837d_be9cbc902446___Power $model The data model object.
|
||||||
* @param array $validData The validated data.
|
* @param array $validData The validated data.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 12.2
|
* @since 12.2
|
||||||
*/
|
*/
|
||||||
protected function postSaveHook(BaseDatabaseModel $model, $validData = [])
|
protected function postSaveHook(Joomla___6dce7a1b_cfc3_4c2a_837d_be9cbc902446___Power $model, $validData = [])
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,24 +27,59 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Site\View\###
|
|||||||
*/
|
*/
|
||||||
class HtmlView extends BaseHtmlView
|
class HtmlView extends BaseHtmlView
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The toolbar object
|
||||||
|
*
|
||||||
|
* @var Toolbar
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Toolbar $toolbar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The styles url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
protected array $styles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The scripts url array
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
protected array $scripts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The user object.
|
||||||
|
*
|
||||||
|
* @var Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power
|
||||||
|
* @since 3.10.11
|
||||||
|
*/
|
||||||
|
public Joomla___effdaf6d_2275_425d_9f52_d4952e564d34___Power $user;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display the view
|
* Display the view
|
||||||
*
|
*
|
||||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
* @throws \Exception
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function display($tpl = null)
|
public function display($tpl = null): void
|
||||||
{
|
{
|
||||||
// get combined params of both component and menu
|
// get combined params of both component and menu
|
||||||
$this->app ??= Factory::getApplication();
|
$this->app ??= Factory::getApplication();
|
||||||
$this->params = $this->app->getParams();
|
$this->params = $this->app->getParams();
|
||||||
$this->menu = $this->app->getMenu()->getActive();
|
$this->menu = $this->app->getMenu()->getActive();
|
||||||
$this->styles = $this->get('Styles');
|
$this->styles = $this->get('Styles') ?? [];
|
||||||
$this->scripts = $this->get('Scripts');
|
$this->scripts = $this->get('Scripts') ?? [];
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user ??= $this->app->getIdentity();###SITE_DIPLAY_METHOD###
|
$this->user ??= $this->getCurrentUser();###SITE_DIPLAY_METHOD###
|
||||||
|
|
||||||
|
parent::display($tpl);
|
||||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -82,8 +117,9 @@ class HtmlView extends BaseHtmlView
|
|||||||
{
|
{
|
||||||
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
// now initiate the toolbar
|
// now initiate the toolbar
|
||||||
$this->toolbar = Toolbar::getInstance();
|
$this->toolbar ??= Toolbar::getInstance();
|
||||||
}###SITE_GET_MODULE###
|
}###SITE_GET_MODULE###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -33,6 +33,12 @@
|
|||||||
},
|
},
|
||||||
"tmpl": "tmpl"
|
"tmpl": "tmpl"
|
||||||
},
|
},
|
||||||
|
"api": {
|
||||||
|
"src": {
|
||||||
|
"Controller": "Controller",
|
||||||
|
"View": "View"
|
||||||
|
}
|
||||||
|
},
|
||||||
"site": {
|
"site": {
|
||||||
"assets": {
|
"assets": {
|
||||||
"css": "css",
|
"css": "css",
|
||||||
@ -182,6 +188,13 @@
|
|||||||
"newName": "[[[Component]]]InstallerScript.php",
|
"newName": "[[[Component]]]InstallerScript.php",
|
||||||
"type": "file"
|
"type": "file"
|
||||||
},
|
},
|
||||||
|
"INSTALLER_AUTOLOADER_CLASS.php": {
|
||||||
|
"naam": "INSTALLER_AUTOLOADER_CLASS.php",
|
||||||
|
"path": "c0mp0n3nt/",
|
||||||
|
"rename": "new",
|
||||||
|
"newName": "[[[Component]]]InstallerPowerloader.php",
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
"SITE_DISPATCHER.php": {
|
"SITE_DISPATCHER.php": {
|
||||||
"naam": "SITE_DISPATCHER.php",
|
"naam": "SITE_DISPATCHER.php",
|
||||||
"path": "c0mp0n3nt/site/src/Dispatcher",
|
"path": "c0mp0n3nt/site/src/Dispatcher",
|
||||||
@ -557,6 +570,32 @@
|
|||||||
"type": "javascript_file"
|
"type": "javascript_file"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"api": {
|
||||||
|
"API_VIEW_CONTROLLER.php": {
|
||||||
|
"path": "c0mp0n3nt/api/src/Controller",
|
||||||
|
"rename": "new",
|
||||||
|
"newName": "[[[Name]]]Controller.php",
|
||||||
|
"type": "single"
|
||||||
|
},
|
||||||
|
"API_VIEW_JSON.php": {
|
||||||
|
"path": "c0mp0n3nt/api/src/View/[[[Name]]]",
|
||||||
|
"rename": "new",
|
||||||
|
"newName": "JsonapiView.php",
|
||||||
|
"type": "single"
|
||||||
|
},
|
||||||
|
"API_VIEWS_CONTROLLER.php": {
|
||||||
|
"path": "c0mp0n3nt/api/src/Controller",
|
||||||
|
"rename": "new",
|
||||||
|
"newName": "[[[Name]]]Controller.php",
|
||||||
|
"type": "list"
|
||||||
|
},
|
||||||
|
"API_VIEWS_JSON.php": {
|
||||||
|
"path": "c0mp0n3nt/api/src/View/[[[Name]]]",
|
||||||
|
"rename": "new",
|
||||||
|
"newName": "JsonapiView.php",
|
||||||
|
"type": "list"
|
||||||
|
}
|
||||||
|
},
|
||||||
"site": {
|
"site": {
|
||||||
"SITE_VIEWS_HTML.php": {
|
"SITE_VIEWS_HTML.php": {
|
||||||
"path": "c0mp0n3nt/site/src/View/[[[Name]]]",
|
"path": "c0mp0n3nt/site/src/View/[[[Name]]]",
|
||||||
|
127
admin/config.xml
127
admin/config.xml
@ -57,7 +57,7 @@
|
|||||||
buttons="add,remove,move"
|
buttons="add,remove,move"
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION"
|
description="COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION"
|
||||||
icon="list"
|
icon="list"
|
||||||
max="9"
|
max="10"
|
||||||
min="1">
|
min="1">
|
||||||
<form hidden="true" name="list_subform_layouts_modal" repeat="true">
|
<form hidden="true" name="list_subform_layouts_modal" repeat="true">
|
||||||
<!-- View_field Field. Type: List. (joomla) -->
|
<!-- View_field Field. Type: List. (joomla) -->
|
||||||
@ -73,6 +73,8 @@
|
|||||||
<!-- Option Set. -->
|
<!-- Option Set. -->
|
||||||
<option value="default">
|
<option value="default">
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
||||||
|
<option value="admin_view.ajax_input">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ADMIN_VIEWS_AJAX_INPUT</option>
|
||||||
<option value="admin_custom_tabs.tabs">
|
<option value="admin_custom_tabs.tabs">
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS</option>
|
COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS</option>
|
||||||
<option value="admin_fields.addfields">
|
<option value="admin_fields.addfields">
|
||||||
@ -93,6 +95,8 @@
|
|||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_MENUS_ADDCUSTOMMENUS</option>
|
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_MENUS_ADDCUSTOMMENUS</option>
|
||||||
<option value="component_site_views.addsite_views">
|
<option value="component_site_views.addsite_views">
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS</option>
|
COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS</option>
|
||||||
|
<option value="custom_admin_view.ajax_input">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_CUSTOM_ADMIN_VIEWS_AJAX_INPUT</option>
|
||||||
<option value="dynamic_get.join_db_table">
|
<option value="dynamic_get.join_db_table">
|
||||||
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE</option>
|
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE</option>
|
||||||
<option value="dynamic_get.join_view_table">
|
<option value="dynamic_get.join_view_table">
|
||||||
@ -103,6 +107,8 @@
|
|||||||
COM_COMPONENTBUILDER_CONFIG_JOOMLA_MODULE_UPDATES_VERSION_UPDATE</option>
|
COM_COMPONENTBUILDER_CONFIG_JOOMLA_MODULE_UPDATES_VERSION_UPDATE</option>
|
||||||
<option value="joomla_plugin_updates.version_update">
|
<option value="joomla_plugin_updates.version_update">
|
||||||
COM_COMPONENTBUILDER_CONFIG_JOOMLA_PLUGIN_UPDATES_VERSION_UPDATE</option>
|
COM_COMPONENTBUILDER_CONFIG_JOOMLA_PLUGIN_UPDATES_VERSION_UPDATE</option>
|
||||||
|
<option value="site_view.ajax_input">
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_SITE_VIEWS_AJAX_INPUT</option>
|
||||||
</field>
|
</field>
|
||||||
<!-- Layout Field. Type: List. (joomla) -->
|
<!-- Layout Field. Type: List. (joomla) -->
|
||||||
<field
|
<field
|
||||||
@ -113,7 +119,7 @@
|
|||||||
multiple="false"
|
multiple="false"
|
||||||
filter="CMD"
|
filter="CMD"
|
||||||
required="true"
|
required="true"
|
||||||
default="joomla.form.field.subform.repeatable-table">
|
default="repeatablejcb">
|
||||||
<!-- Option Set. -->
|
<!-- Option Set. -->
|
||||||
<option value="joomla.form.field.subform.repeatable-table">
|
<option value="joomla.form.field.subform.repeatable-table">
|
||||||
COM_COMPONENTBUILDER_CONFIG_REPEATABLETABLE_JOOMLA</option>
|
COM_COMPONENTBUILDER_CONFIG_REPEATABLETABLE_JOOMLA</option>
|
||||||
@ -1007,115 +1013,6 @@
|
|||||||
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
COM_COMPONENTBUILDER_CONFIG_NO</option>
|
||||||
</field>
|
</field>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset
|
|
||||||
name="development_method_custom_config"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD">
|
|
||||||
|
|
||||||
<!-- Development_method Field. Type: Radio. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="radio"
|
|
||||||
name="development_method"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD_DESCRIPTION"
|
|
||||||
class="btn-group btn-group-yesno"
|
|
||||||
default="1"
|
|
||||||
required="true">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
|
||||||
<option value="2">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPANSION</option>
|
|
||||||
</field>
|
|
||||||
<!-- Note_development_method_default Field. Type: Note. A None Database Field. (joomla) -->
|
|
||||||
<field type="note" name="note_development_method_default" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_DESCRIPTION" heading="h2" class="alert alert-info note_development_method_default" showon="development_method:1" />
|
|
||||||
<!-- Note_development_method_expansion Field. Type: Note. A None Database Field. (joomla) -->
|
|
||||||
<field type="note" name="note_development_method_expansion" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_DESCRIPTION" heading="h2" class="alert alert-info note_development_method_expansion" showon="development_method:2" />
|
|
||||||
<!-- Expansion Field. Type: Subform. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="subform"
|
|
||||||
name="expansion"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_EXPANSION_LABEL"
|
|
||||||
layout="joomla.form.field.subform.repeatable-table"
|
|
||||||
multiple="true"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_EXPANSION_DESCRIPTION"
|
|
||||||
icon="list"
|
|
||||||
max="50"
|
|
||||||
min="1"
|
|
||||||
showon="development_method:2">
|
|
||||||
<form hidden="true" name="list_expansion_modal" repeat="true">
|
|
||||||
<!-- Component_id Field. Type: Joomlacomponent. (custom) -->
|
|
||||||
<field
|
|
||||||
type="joomlacomponent"
|
|
||||||
name="component_id"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_COMPONENT_ID_LABEL"
|
|
||||||
class="list_class"
|
|
||||||
multiple="false"
|
|
||||||
default="0"
|
|
||||||
button="false"
|
|
||||||
/>
|
|
||||||
<!-- Install Field. Type: List. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="list"
|
|
||||||
name="install"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_INSTALL_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_INSTALL_DESCRIPTION"
|
|
||||||
class="list_class"
|
|
||||||
multiple="false"
|
|
||||||
default="1">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_TRUE</option>
|
|
||||||
<option value="2">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_FALSE</option>
|
|
||||||
</field>
|
|
||||||
<!-- Backup Field. Type: Checkbox. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="checkbox"
|
|
||||||
name="backup"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_BACKUP_LABEL"
|
|
||||||
value="1"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_BACKUP_DESCRIPTION"
|
|
||||||
class="inputbox"
|
|
||||||
/>
|
|
||||||
<!-- Repository Field. Type: Checkbox. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="checkbox"
|
|
||||||
name="repository"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_REPOSITORY_LABEL"
|
|
||||||
value="1"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_REPOSITORY_DESCRIPTION"
|
|
||||||
class="inputbox"
|
|
||||||
/>
|
|
||||||
<!-- Add_placeholders Field. Type: Checkbox. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="checkbox"
|
|
||||||
name="add_placeholders"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_ADD_PLACEHOLDERS_LABEL"
|
|
||||||
value="1"
|
|
||||||
default=""
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_ADD_PLACEHOLDERS_DESCRIPTION"
|
|
||||||
class="inputbox"
|
|
||||||
/>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
<!-- Return_options_build Field. Type: Radio. (joomla) -->
|
|
||||||
<field
|
|
||||||
type="radio"
|
|
||||||
name="return_options_build"
|
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_RETURN_OPTIONS_BUILD_LABEL"
|
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_RETURN_OPTIONS_BUILD_DESCRIPTION"
|
|
||||||
class="btn-group btn-group-yesno"
|
|
||||||
default="2"
|
|
||||||
showon="development_method:2">
|
|
||||||
<!-- Option Set. -->
|
|
||||||
<option value="1">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DISPLAY_MESSAGE</option>
|
|
||||||
<option value="2">
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_ONLY_BOOLEAN</option>
|
|
||||||
</field>
|
|
||||||
<!-- Expansioncronjob_note Field. Type: Note. A None Database Field. (joomla) -->
|
|
||||||
<field type="note" name="expansioncronjob_note" label="COM_COMPONENTBUILDER_CONFIG_EXPANSIONCRONJOB_NOTE_LABEL" description="COM_COMPONENTBUILDER_CONFIG_EXPANSIONCRONJOB_NOTE_DESCRIPTION" heading="h4" class="expansioncronjob_note" showon="development_method:2" />
|
|
||||||
</fieldset>
|
|
||||||
<fieldset
|
<fieldset
|
||||||
name="auto_backup_custom_config"
|
name="auto_backup_custom_config"
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_AUTO_BACKUP">
|
label="COM_COMPONENTBUILDER_CONFIG_AUTO_BACKUP">
|
||||||
@ -1136,9 +1033,9 @@
|
|||||||
<option value="2">
|
<option value="2">
|
||||||
COM_COMPONENTBUILDER_CONFIG_REMOTE_SERVER</option>
|
COM_COMPONENTBUILDER_CONFIG_REMOTE_SERVER</option>
|
||||||
</field>
|
</field>
|
||||||
<!-- Cronjob_backup_server Field. Type: Servers. (custom) -->
|
<!-- Cronjob_backup_server Field. Type: Cron_servers. (custom) -->
|
||||||
<field
|
<field
|
||||||
type="servers"
|
type="cron_servers"
|
||||||
name="cronjob_backup_server"
|
name="cronjob_backup_server"
|
||||||
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_LABEL"
|
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_LABEL"
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_DESCRIPTION"
|
description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_DESCRIPTION"
|
||||||
@ -1306,6 +1203,7 @@
|
|||||||
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_COMPANY_LABEL"
|
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_COMPANY_LABEL"
|
||||||
size="40"
|
size="40"
|
||||||
maxlength="150"
|
maxlength="150"
|
||||||
|
default="Vast Development Method"
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_COMPANY_DESCRIPTION"
|
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_COMPANY_DESCRIPTION"
|
||||||
class="text_area"
|
class="text_area"
|
||||||
required="true"
|
required="true"
|
||||||
@ -1321,6 +1219,7 @@
|
|||||||
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_LABEL"
|
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_LABEL"
|
||||||
size="10"
|
size="10"
|
||||||
maxlength="120"
|
maxlength="120"
|
||||||
|
default="Llewellyn van der Merwe"
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_DESCRIPTION"
|
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_DESCRIPTION"
|
||||||
class="text_area"
|
class="text_area"
|
||||||
required="true"
|
required="true"
|
||||||
@ -1336,6 +1235,7 @@
|
|||||||
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_LABEL"
|
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_LABEL"
|
||||||
size="40"
|
size="40"
|
||||||
maxlength="150"
|
maxlength="150"
|
||||||
|
default="joomla@vdm.io"
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_DESCRIPTION"
|
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_EMAIL_DESCRIPTION"
|
||||||
class="text_area"
|
class="text_area"
|
||||||
required="true"
|
required="true"
|
||||||
@ -1352,6 +1252,7 @@
|
|||||||
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_LABEL"
|
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_LABEL"
|
||||||
size="60"
|
size="60"
|
||||||
maxlength="150"
|
maxlength="150"
|
||||||
|
default="https://dev.vdm.io/"
|
||||||
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_DESCRIPTION"
|
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_DESCRIPTION"
|
||||||
class="text_area"
|
class="text_area"
|
||||||
required="true"
|
required="true"
|
||||||
|
@ -20,8 +20,6 @@ use Joomla\CMS\Router\Route;
|
|||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Admin_views Admin Controller
|
* Admin_views Admin Controller
|
||||||
@ -114,59 +112,4 @@ class ComponentbuilderControllerAdmin_views extends AdminController
|
|||||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=admin_views', false), $message, 'error');
|
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=admin_views', false), $message, 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=admin_views', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('admin_views.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -521,60 +521,6 @@ class ComponentbuilderControllerCompiler extends AdminController
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=compiler', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear tmp folder
|
* Clear tmp folder
|
||||||
*
|
*
|
||||||
@ -598,7 +544,7 @@ class ComponentbuilderControllerCompiler extends AdminController
|
|||||||
$tmp = $comConfig->get('tmp_path');
|
$tmp = $comConfig->get('tmp_path');
|
||||||
if ($model->emptyFolder($tmp))
|
if ($model->emptyFolder($tmp))
|
||||||
{
|
{
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
|
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB');
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
$this->setRedirect($redirect_url, $message, 'message');
|
||||||
// get application
|
// get application
|
||||||
$app = Factory::getApplication();
|
$app = Factory::getApplication();
|
||||||
|
@ -20,8 +20,6 @@ use Joomla\CMS\Router\Route;
|
|||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom_codes Admin Controller
|
* Custom_codes Admin Controller
|
||||||
@ -114,59 +112,4 @@ class ComponentbuilderControllerCustom_codes extends AdminController
|
|||||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=custom_codes', false), $message, 'error');
|
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=custom_codes', false), $message, 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=custom_codes', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('custom_codes.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -20,8 +20,6 @@ use Joomla\CMS\Router\Route;
|
|||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dynamic_gets Admin Controller
|
* Dynamic_gets Admin Controller
|
||||||
@ -114,59 +112,4 @@ class ComponentbuilderControllerDynamic_gets extends AdminController
|
|||||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=dynamic_gets', false), $message, 'error');
|
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=dynamic_gets', false), $message, 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=dynamic_gets', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('dynamic_gets.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -20,8 +20,6 @@ use Joomla\CMS\Router\Route;
|
|||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fields Admin Controller
|
* Fields Admin Controller
|
||||||
@ -114,59 +112,4 @@ class ComponentbuilderControllerFields extends AdminController
|
|||||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=fields', false), $message, 'error');
|
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=fields', false), $message, 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fields', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('fields.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -20,6 +20,7 @@ use Joomla\Utilities\ArrayHelper;
|
|||||||
use Joomla\CMS\Router\Route;
|
use Joomla\CMS\Router\Route;
|
||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use Joomla\CMS\Uri\Uri;
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
use VDM\Joomla\Componentbuilder\Fieldtype\Factory as FieldtypeFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fieldtype Form Controller
|
* Fieldtype Form Controller
|
||||||
@ -48,6 +49,157 @@ class ComponentbuilderControllerFieldtype extends FormController
|
|||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets the specified Joomla Field Type.
|
||||||
|
*
|
||||||
|
* This function performs several checks and operations:
|
||||||
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
|
* 2. It retrieves the item data posted by the user.
|
||||||
|
* 3. It checks whether the current user has the necessary permissions to reset the Joomla Field Type.
|
||||||
|
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||||
|
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified Joomla Field Type.
|
||||||
|
* 6. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||||
|
* 7. It redirects the user to a specified URL with the result message and status.
|
||||||
|
*
|
||||||
|
* @return bool True on successful reset, false on failure.
|
||||||
|
*/
|
||||||
|
public function resetPowers()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
|
// get Item posted
|
||||||
|
$item = $this->input->post->get('jform', array(), 'array');
|
||||||
|
|
||||||
|
// check if user has the right
|
||||||
|
$user = Factory::getUser();
|
||||||
|
|
||||||
|
// set default error message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_FIELD_TYPE') . '</p>';
|
||||||
|
$status = 'error';
|
||||||
|
$success = false;
|
||||||
|
|
||||||
|
// load the ID
|
||||||
|
$id = $item['id'] ?? null;
|
||||||
|
$guid = $item['guid'] ?? null;
|
||||||
|
|
||||||
|
// check if there is any selections
|
||||||
|
if ($id === null || $guid === null)
|
||||||
|
{
|
||||||
|
// set error message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||||
|
}
|
||||||
|
elseif($user->authorise('fieldtype.reset', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->reset([$guid]))
|
||||||
|
{
|
||||||
|
// set success message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||||
|
$status = 'success';
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED') . '</p>';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_(
|
||||||
|
'index.php?option=com_componentbuilder&view=fieldtype'
|
||||||
|
. $this->getRedirectToItemAppend($id), $success
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->setRedirect($redirect_url, $message, $status);
|
||||||
|
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pushes the specified Joomla Field Type.
|
||||||
|
*
|
||||||
|
* This function performs several checks and operations:
|
||||||
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
|
* 2. It retrieves the item data posted by the user.
|
||||||
|
* 3. It checks whether the current user has the necessary permissions to push the Joomla Field Type.
|
||||||
|
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||||
|
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified Joomla Field Type.
|
||||||
|
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||||
|
* 7. It redirects the user to a specified URL with the result message and status.
|
||||||
|
*
|
||||||
|
* @return bool True on successful push, false on failure.
|
||||||
|
*/
|
||||||
|
public function pushPowers()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
|
// get Item posted
|
||||||
|
$item = $this->input->post->get('jform', array(), 'array');
|
||||||
|
|
||||||
|
// check if user has the right
|
||||||
|
$user = Factory::getUser();
|
||||||
|
|
||||||
|
// set default error message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_FIELD_TYPE') . '</p>';
|
||||||
|
$status = 'error';
|
||||||
|
$success = false;
|
||||||
|
|
||||||
|
// load the ID
|
||||||
|
$id = $item['id'] ?? null;
|
||||||
|
$guid = $item['guid'] ?? null;
|
||||||
|
|
||||||
|
// check if there is any selections
|
||||||
|
if ($id === null || $guid === null)
|
||||||
|
{
|
||||||
|
// set error message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||||
|
}
|
||||||
|
elseif($user->authorise('fieldtype.push', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Set')->items([$guid]))
|
||||||
|
{
|
||||||
|
// set success message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||||
|
$status = 'success';
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED') . '</p>';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_(
|
||||||
|
'index.php?option=com_componentbuilder&view=fieldtype'
|
||||||
|
. $this->getRedirectToItemAppend($id), $success
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->setRedirect($redirect_url, $message, $status);
|
||||||
|
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method override to check if you can add a new record.
|
* Method override to check if you can add a new record.
|
||||||
*
|
*
|
||||||
|
@ -20,6 +20,8 @@ use Joomla\CMS\Router\Route;
|
|||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
|
use VDM\Joomla\Componentbuilder\Fieldtype\Factory as FieldtypeFactory;
|
||||||
|
use VDM\Joomla\Utilities\GetHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fieldtypes Admin Controller
|
* Fieldtypes Admin Controller
|
||||||
@ -112,4 +114,219 @@ class ComponentbuilderControllerFieldtypes extends AdminController
|
|||||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false), $message, 'error');
|
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false), $message, 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes all remote Joomla Field Types and syncs them with the local database.
|
||||||
|
*
|
||||||
|
* This function performs several checks and operations:
|
||||||
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
|
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla Field Types.
|
||||||
|
* 3. If the user is authorized, it attempts to initialize the remote Joomla Field Types.
|
||||||
|
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||||
|
* 5. It redirects the user to a specified URL with the result message and status.
|
||||||
|
*
|
||||||
|
* @return bool True on successful initialization, false on failure.
|
||||||
|
*/
|
||||||
|
public function initPowers()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
|
// check if user has the right
|
||||||
|
$user = Factory::getUser();
|
||||||
|
|
||||||
|
// set default error message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_FIELD_TYPES') . '</p>';
|
||||||
|
$status = 'error';
|
||||||
|
$success = false;
|
||||||
|
|
||||||
|
if($user->authorise('fieldtype.init', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->init())
|
||||||
|
{
|
||||||
|
// set success message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_FIELD_TYPES') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_FIELD_TYPES_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES') . '</p>';
|
||||||
|
|
||||||
|
$status = 'success';
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||||
|
$this->setRedirect($redirect_url, $message, $status);
|
||||||
|
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets the selected Joomla Field Types.
|
||||||
|
*
|
||||||
|
* This function performs several checks and operations:
|
||||||
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
|
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||||
|
* 3. It sanitizes the input by converting the IDs to integers.
|
||||||
|
* 4. It checks whether any powers have been selected.
|
||||||
|
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla Field Types.
|
||||||
|
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla Field Types.
|
||||||
|
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||||
|
* 8. It redirects the user to a specified URL with the result message and status.
|
||||||
|
*
|
||||||
|
* @return bool True on successful reset, false on failure.
|
||||||
|
*/
|
||||||
|
public function resetPowers()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
|
// get IDS of the selected powers
|
||||||
|
$pks = $this->input->post->get('cid', [], 'array');
|
||||||
|
|
||||||
|
// Sanitize the input
|
||||||
|
ArrayHelper::toInteger($pks);
|
||||||
|
|
||||||
|
// check if there is any selections
|
||||||
|
if ($pks === [])
|
||||||
|
{
|
||||||
|
// set error message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||||
|
$this->setRedirect($redirect_url, $message, 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$status = 'error';
|
||||||
|
$success = false;
|
||||||
|
|
||||||
|
// check if user has the right
|
||||||
|
$user = Factory::getUser();
|
||||||
|
if($user->authorise('fieldtype.reset', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
$guids = GetHelper::vars('fieldtype', $pks, 'id', 'guid');
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->reset($guids))
|
||||||
|
{
|
||||||
|
// set success message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||||
|
$status = 'success';
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||||
|
$this->setRedirect($redirect_url, $message, $status);
|
||||||
|
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||||
|
$this->setRedirect($redirect_url);
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pushes the selected Joomla Field Types.
|
||||||
|
*
|
||||||
|
* This function performs several checks and operations:
|
||||||
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
|
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||||
|
* 3. It sanitizes the input by converting the IDs to integers.
|
||||||
|
* 4. It checks whether any powers have been selected.
|
||||||
|
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla Field Types.
|
||||||
|
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla Field Types.
|
||||||
|
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||||
|
* 8. It redirects the user to a specified URL with the result message and status.
|
||||||
|
*
|
||||||
|
* @return bool True on successful push, false on failure.
|
||||||
|
*/
|
||||||
|
public function pushPowers()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
|
// get IDS of the selected powers
|
||||||
|
$pks = $this->input->post->get('cid', [], 'array');
|
||||||
|
|
||||||
|
// Sanitize the input
|
||||||
|
ArrayHelper::toInteger($pks);
|
||||||
|
|
||||||
|
// check if there is any selections
|
||||||
|
if ($pks === [])
|
||||||
|
{
|
||||||
|
// set error message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||||
|
$this->setRedirect($redirect_url, $message, 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$status = 'error';
|
||||||
|
$success = false;
|
||||||
|
|
||||||
|
// check if user has the right
|
||||||
|
$user = Factory::getUser();
|
||||||
|
if($user->authorise('fieldtype.push', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
$guids = GetHelper::vars('fieldtype', $pks, 'id', 'guid');
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Set')->items($guids))
|
||||||
|
{
|
||||||
|
// set success message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||||
|
$status = 'success';
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||||
|
$this->setRedirect($redirect_url, $message, $status);
|
||||||
|
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||||
|
$this->setRedirect($redirect_url);
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
}
|
}
|
@ -22,7 +22,6 @@ use VDM\Joomla\Componentbuilder\Package\Factory as PackageFactory;
|
|||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Joomla_components Admin Controller
|
* Joomla_components Admin Controller
|
||||||
@ -117,60 +116,6 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=joomla_components', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('joomla_components.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear tmp folder
|
* Clear tmp folder
|
||||||
*
|
*
|
||||||
@ -194,7 +139,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
|||||||
$tmp = $comConfig->get('tmp_path');
|
$tmp = $comConfig->get('tmp_path');
|
||||||
if ($model->emptyFolder($tmp))
|
if ($model->emptyFolder($tmp))
|
||||||
{
|
{
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
|
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB');
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
$this->setRedirect($redirect_url, $message, 'message');
|
||||||
// get application
|
// get application
|
||||||
$app = Factory::getApplication();
|
$app = Factory::getApplication();
|
||||||
@ -247,7 +192,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
|||||||
// Sanitize the input
|
// Sanitize the input
|
||||||
ArrayHelper::toInteger($pks);
|
ArrayHelper::toInteger($pks);
|
||||||
// check if there is any selections
|
// check if there is any selections
|
||||||
if (!JCBArrayHelper::check($pks))
|
if (!UtilitiesArrayHelper::check($pks))
|
||||||
{
|
{
|
||||||
// Redirect to the list screen with error.
|
// Redirect to the list screen with error.
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_NO_COMPONENTS_WERE_SELECTED_PLEASE_MAKE_A_SELECTION_AND_TRY_AGAIN');
|
$message = Text::_('COM_COMPONENTBUILDER_NO_COMPONENTS_WERE_SELECTED_PLEASE_MAKE_A_SELECTION_AND_TRY_AGAIN');
|
||||||
@ -486,7 +431,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
|||||||
// Sanitize the input
|
// Sanitize the input
|
||||||
ArrayHelper::toInteger($pks);
|
ArrayHelper::toInteger($pks);
|
||||||
// check if there is any selections
|
// check if there is any selections
|
||||||
if (!JCBArrayHelper::check($pks))
|
if (!UtilitiesArrayHelper::check($pks))
|
||||||
{
|
{
|
||||||
// Redirect to the list screen with error.
|
// Redirect to the list screen with error.
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_NO_COMPONENT_WAS_SELECTED_PLEASE_MAKE_A_SELECTION_OF_ONE_COMPONENT_AND_TRY_AGAIN');
|
$message = Text::_('COM_COMPONENTBUILDER_NO_COMPONENT_WAS_SELECTED_PLEASE_MAKE_A_SELECTION_OF_ONE_COMPONENT_AND_TRY_AGAIN');
|
||||||
|
@ -18,8 +18,6 @@ use Joomla\CMS\MVC\Controller\AdminController;
|
|||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Router\Route;
|
use Joomla\CMS\Router\Route;
|
||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Joomla_plugins Admin Controller
|
* Joomla_plugins Admin Controller
|
||||||
@ -51,60 +49,6 @@ class ComponentbuilderControllerJoomla_plugins extends AdminController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=joomla_plugins', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('joomla_plugins.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get Boilerplate
|
* get Boilerplate
|
||||||
*
|
*
|
||||||
|
@ -49,15 +49,16 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
|||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets the specified Joomla power.
|
* Resets the specified Joomla Power.
|
||||||
*
|
*
|
||||||
* This function performs several checks and operations:
|
* This function performs several checks and operations:
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
* 2. It retrieves the item data posted by the user.
|
* 2. It retrieves the item data posted by the user.
|
||||||
* 3. It checks whether the current user has the necessary permissions to reset the Joomla power.
|
* 3. It checks whether the current user has the necessary permissions to reset the Joomla Power.
|
||||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||||
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified power.
|
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified Joomla Power.
|
||||||
* 6. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
* 6. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||||
* 7. It redirects the user to a specified URL with the result message and status.
|
* 7. It redirects the user to a specified URL with the result message and status.
|
||||||
*
|
*
|
||||||
@ -91,7 +92,7 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
|||||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||||
}
|
}
|
||||||
elseif($user->authorise('power.reset', 'com_componentbuilder'))
|
elseif($user->authorise('joomla_power.reset', 'com_componentbuilder'))
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->reset([$guid]))
|
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->reset([$guid]))
|
||||||
@ -125,14 +126,14 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pushes the specified Joomla power.
|
* Pushes the specified Joomla Power.
|
||||||
*
|
*
|
||||||
* This function performs several checks and operations:
|
* This function performs several checks and operations:
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
* 2. It retrieves the item data posted by the user.
|
* 2. It retrieves the item data posted by the user.
|
||||||
* 3. It checks whether the current user has the necessary permissions to push the Joomla power.
|
* 3. It checks whether the current user has the necessary permissions to push the Joomla Power.
|
||||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified power.
|
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified Joomla Power.
|
||||||
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||||
* 7. It redirects the user to a specified URL with the result message and status.
|
* 7. It redirects the user to a specified URL with the result message and status.
|
||||||
*
|
*
|
||||||
@ -166,7 +167,7 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
|||||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||||
}
|
}
|
||||||
elseif($user->authorise('power.push', 'com_componentbuilder'))
|
elseif($user->authorise('joomla_power.push', 'com_componentbuilder'))
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Set')->items([$guid]))
|
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Set')->items([$guid]))
|
||||||
|
@ -50,13 +50,14 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
|||||||
return parent::getModel($name, $prefix, $config);
|
return parent::getModel($name, $prefix, $config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes all remote Joomla powers and syncs them with the local database.
|
* Initializes all remote Joomla Powers and syncs them with the local database.
|
||||||
*
|
*
|
||||||
* This function performs several checks and operations:
|
* This function performs several checks and operations:
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla powers.
|
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla Powers.
|
||||||
* 3. If the user is authorized, it attempts to initialize the remote Joomla powers.
|
* 3. If the user is authorized, it attempts to initialize the remote Joomla Powers.
|
||||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
* 5. It redirects the user to a specified URL with the result message and status.
|
||||||
*
|
*
|
||||||
@ -76,7 +77,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
|||||||
$status = 'error';
|
$status = 'error';
|
||||||
$success = false;
|
$success = false;
|
||||||
|
|
||||||
if($user->authorise('power.init', 'com_componentbuilder'))
|
if($user->authorise('joomla_power.init', 'com_componentbuilder'))
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->init())
|
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->init())
|
||||||
@ -107,15 +108,15 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets the selected Joomla powers.
|
* Resets the selected Joomla Powers.
|
||||||
*
|
*
|
||||||
* This function performs several checks and operations:
|
* This function performs several checks and operations:
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||||
* 3. It sanitizes the input by converting the IDs to integers.
|
* 3. It sanitizes the input by converting the IDs to integers.
|
||||||
* 4. It checks whether any powers have been selected.
|
* 4. It checks whether any powers have been selected.
|
||||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla powers.
|
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla Powers.
|
||||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla powers.
|
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla Powers.
|
||||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||||
* 8. It redirects the user to a specified URL with the result message and status.
|
* 8. It redirects the user to a specified URL with the result message and status.
|
||||||
*
|
*
|
||||||
@ -149,7 +150,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
|||||||
|
|
||||||
// check if user has the right
|
// check if user has the right
|
||||||
$user = Factory::getUser();
|
$user = Factory::getUser();
|
||||||
if($user->authorise('power.reset', 'com_componentbuilder'))
|
if($user->authorise('joomla_power.reset', 'com_componentbuilder'))
|
||||||
{
|
{
|
||||||
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
||||||
|
|
||||||
@ -186,15 +187,15 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pushes the selected Joomla powers.
|
* Pushes the selected Joomla Powers.
|
||||||
*
|
*
|
||||||
* This function performs several checks and operations:
|
* This function performs several checks and operations:
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||||
* 3. It sanitizes the input by converting the IDs to integers.
|
* 3. It sanitizes the input by converting the IDs to integers.
|
||||||
* 4. It checks whether any powers have been selected.
|
* 4. It checks whether any powers have been selected.
|
||||||
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla powers.
|
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla Powers.
|
||||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla powers.
|
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla Powers.
|
||||||
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||||
* 8. It redirects the user to a specified URL with the result message and status.
|
* 8. It redirects the user to a specified URL with the result message and status.
|
||||||
*
|
*
|
||||||
@ -228,7 +229,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
|||||||
|
|
||||||
// check if user has the right
|
// check if user has the right
|
||||||
$user = Factory::getUser();
|
$user = Factory::getUser();
|
||||||
if($user->authorise('power.push', 'com_componentbuilder'))
|
if($user->authorise('joomla_power.push', 'com_componentbuilder'))
|
||||||
{
|
{
|
||||||
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@ class ComponentbuilderControllerPower extends FormController
|
|||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets the specified power.
|
* Resets the specified power.
|
||||||
*
|
*
|
||||||
@ -93,6 +94,7 @@ class ComponentbuilderControllerPower extends FormController
|
|||||||
}
|
}
|
||||||
elseif($user->authorise('power.reset', 'com_componentbuilder'))
|
elseif($user->authorise('power.reset', 'com_componentbuilder'))
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
if (PowerFactory::_('Power.Remote.Get')->reset([$guid]))
|
if (PowerFactory::_('Power.Remote.Get')->reset([$guid]))
|
||||||
{
|
{
|
||||||
// set success message
|
// set success message
|
||||||
@ -106,6 +108,85 @@ class ComponentbuilderControllerPower extends FormController
|
|||||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||||
}
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_(
|
||||||
|
'index.php?option=com_componentbuilder&view=power'
|
||||||
|
. $this->getRedirectToItemAppend($id), $success
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->setRedirect($redirect_url, $message, $status);
|
||||||
|
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pushes the specified power.
|
||||||
|
*
|
||||||
|
* This function performs several checks and operations:
|
||||||
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
|
* 2. It retrieves the item data posted by the user.
|
||||||
|
* 3. It checks whether the current user has the necessary permissions to push the power.
|
||||||
|
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||||
|
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified power.
|
||||||
|
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||||
|
* 7. It redirects the user to a specified URL with the result message and status.
|
||||||
|
*
|
||||||
|
* @return bool True on successful push, false on failure.
|
||||||
|
*/
|
||||||
|
public function pushPowers()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
|
// get Item posted
|
||||||
|
$item = $this->input->post->get('jform', array(), 'array');
|
||||||
|
|
||||||
|
// check if user has the right
|
||||||
|
$user = Factory::getUser();
|
||||||
|
|
||||||
|
// set default error message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_POWER') . '</p>';
|
||||||
|
$status = 'error';
|
||||||
|
$success = false;
|
||||||
|
|
||||||
|
// load the ID
|
||||||
|
$id = $item['id'] ?? null;
|
||||||
|
$guid = $item['guid'] ?? null;
|
||||||
|
|
||||||
|
// check if there is any selections
|
||||||
|
if ($id === null || $guid === null)
|
||||||
|
{
|
||||||
|
// set error message
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||||
|
}
|
||||||
|
elseif($user->authorise('power.push', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if (PowerFactory::_('Power.Remote.Set')->items([$guid]))
|
||||||
|
{
|
||||||
|
// set success message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||||
|
$status = 'success';
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// set redirect
|
// set redirect
|
||||||
|
@ -18,10 +18,8 @@ use Joomla\CMS\MVC\Controller\AdminController;
|
|||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Router\Route;
|
use Joomla\CMS\Router\Route;
|
||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
|
||||||
use VDM\Joomla\Componentbuilder\Power\Factory as PowerFactory;
|
use VDM\Joomla\Componentbuilder\Power\Factory as PowerFactory;
|
||||||
use VDM\Joomla\Utilities\GetHelper;
|
use VDM\Joomla\Utilities\GetHelper;
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Powers Admin Controller
|
* Powers Admin Controller
|
||||||
@ -54,65 +52,12 @@ class ComponentbuilderControllerPowers extends AdminController
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs the expansion module.
|
* Initializes all remote Powers and syncs them with the local database.
|
||||||
*
|
*
|
||||||
* This function performs several checks and operations:
|
* This function performs several checks and operations:
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
* 2. It checks whether the current user has the necessary permissions to initialize the Powers.
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
* 3. If the user is authorized, it attempts to initialize the remote Powers.
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('powers.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initializes all remote powers and syncs them with the local database.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to initialize the powers.
|
|
||||||
* 3. If the user is authorized, it attempts to initialize the remote powers.
|
|
||||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
* 5. It redirects the user to a specified URL with the result message and status.
|
||||||
*
|
*
|
||||||
@ -134,6 +79,7 @@ class ComponentbuilderControllerPowers extends AdminController
|
|||||||
|
|
||||||
if($user->authorise('power.init', 'com_componentbuilder'))
|
if($user->authorise('power.init', 'com_componentbuilder'))
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
if (PowerFactory::_('Power.Remote.Get')->init())
|
if (PowerFactory::_('Power.Remote.Get')->init())
|
||||||
{
|
{
|
||||||
// set success message
|
// set success message
|
||||||
@ -148,6 +94,10 @@ class ComponentbuilderControllerPowers extends AdminController
|
|||||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED') . '</p>';
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED') . '</p>';
|
||||||
}
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// set redirect
|
// set redirect
|
||||||
@ -158,15 +108,15 @@ class ComponentbuilderControllerPowers extends AdminController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets the selected powers.
|
* Resets the selected Powers.
|
||||||
*
|
*
|
||||||
* This function performs several checks and operations:
|
* This function performs several checks and operations:
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||||
* 3. It sanitizes the input by converting the IDs to integers.
|
* 3. It sanitizes the input by converting the IDs to integers.
|
||||||
* 4. It checks whether any powers have been selected.
|
* 4. It checks whether any powers have been selected.
|
||||||
* 5. It checks whether the current user has the necessary permissions to reset the selected powers.
|
* 5. It checks whether the current user has the necessary permissions to reset the selected Powers.
|
||||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected powers.
|
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Powers.
|
||||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||||
* 8. It redirects the user to a specified URL with the result message and status.
|
* 8. It redirects the user to a specified URL with the result message and status.
|
||||||
*
|
*
|
||||||
@ -204,6 +154,7 @@ class ComponentbuilderControllerPowers extends AdminController
|
|||||||
{
|
{
|
||||||
$guids = GetHelper::vars('power', $pks, 'id', 'guid');
|
$guids = GetHelper::vars('power', $pks, 'id', 'guid');
|
||||||
|
|
||||||
|
try {
|
||||||
if (PowerFactory::_('Power.Remote.Get')->reset($guids))
|
if (PowerFactory::_('Power.Remote.Get')->reset($guids))
|
||||||
{
|
{
|
||||||
// set success message
|
// set success message
|
||||||
@ -217,6 +168,89 @@ class ComponentbuilderControllerPowers extends AdminController
|
|||||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||||
}
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', $success);
|
||||||
|
$this->setRedirect($redirect_url, $message, $status);
|
||||||
|
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false);
|
||||||
|
$this->setRedirect($redirect_url);
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pushes the selected Powers.
|
||||||
|
*
|
||||||
|
* This function performs several checks and operations:
|
||||||
|
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||||
|
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||||
|
* 3. It sanitizes the input by converting the IDs to integers.
|
||||||
|
* 4. It checks whether any powers have been selected.
|
||||||
|
* 5. It checks whether the current user has the necessary permissions to push the selected Powers.
|
||||||
|
* 6. If the user is authorized and powers are selected, it attempts to push the selected Powers.
|
||||||
|
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||||
|
* 8. It redirects the user to a specified URL with the result message and status.
|
||||||
|
*
|
||||||
|
* @return bool True on successful push, false on failure.
|
||||||
|
*/
|
||||||
|
public function pushPowers()
|
||||||
|
{
|
||||||
|
// Check for request forgeries
|
||||||
|
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
|
// get IDS of the selected powers
|
||||||
|
$pks = $this->input->post->get('cid', [], 'array');
|
||||||
|
|
||||||
|
// Sanitize the input
|
||||||
|
ArrayHelper::toInteger($pks);
|
||||||
|
|
||||||
|
// check if there is any selections
|
||||||
|
if ($pks === [])
|
||||||
|
{
|
||||||
|
// set error message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||||
|
// set redirect
|
||||||
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false);
|
||||||
|
$this->setRedirect($redirect_url, $message, 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$status = 'error';
|
||||||
|
$success = false;
|
||||||
|
|
||||||
|
// check if user has the right
|
||||||
|
$user = Factory::getUser();
|
||||||
|
if($user->authorise('power.push', 'com_componentbuilder'))
|
||||||
|
{
|
||||||
|
$guids = GetHelper::vars('power', $pks, 'id', 'guid');
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (PowerFactory::_('Power.Remote.Set')->items($guids))
|
||||||
|
{
|
||||||
|
// set success message
|
||||||
|
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||||
|
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||||
|
$status = 'success';
|
||||||
|
$success = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||||
|
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||||
|
}
|
||||||
|
|
||||||
// set redirect
|
// set redirect
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', $success);
|
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', $success);
|
||||||
|
@ -136,7 +136,7 @@ class ComponentbuilderControllerSnippets extends AdminController
|
|||||||
$input = Factory::getApplication()->input;
|
$input = Factory::getApplication()->input;
|
||||||
$pks = $input->post->get('cid', array(), 'array');
|
$pks = $input->post->get('cid', array(), 'array');
|
||||||
// Sanitize the input
|
// Sanitize the input
|
||||||
JArrayHelper::toInteger($pks);
|
ArrayHelper::toInteger($pks);
|
||||||
// check if there is any selections
|
// check if there is any selections
|
||||||
if (!UtilitiesArrayHelper::check($pks))
|
if (!UtilitiesArrayHelper::check($pks))
|
||||||
{
|
{
|
||||||
|
@ -20,8 +20,6 @@ use Joomla\CMS\Router\Route;
|
|||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
|
||||||
use Joomla\CMS\Uri\Uri;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validation_rules Admin Controller
|
* Validation_rules Admin Controller
|
||||||
@ -114,59 +112,4 @@ class ComponentbuilderControllerValidation_rules extends AdminController
|
|||||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=validation_rules', false), $message, 'error');
|
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=validation_rules', false), $message, 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs the expansion module.
|
|
||||||
*
|
|
||||||
* This function performs several checks and operations:
|
|
||||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
|
||||||
* 2. It checks whether the current user has the necessary permissions to run the expansion module.
|
|
||||||
* 3. If the user is authorized, it attempts to run the expansion via an API call.
|
|
||||||
* 4. Depending on the result of the expansion operation, it sets the appropriate success or error message.
|
|
||||||
* 5. It redirects the user to a specified URL with the result message and status.
|
|
||||||
*
|
|
||||||
* @return bool True on successful expansion, false on failure.
|
|
||||||
*/
|
|
||||||
public function runExpansion()
|
|
||||||
{
|
|
||||||
// Check for request forgeries
|
|
||||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
|
||||||
|
|
||||||
// check if user has the right
|
|
||||||
$user = Factory::getUser();
|
|
||||||
|
|
||||||
// set page redirect
|
|
||||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=validation_rules', false);
|
|
||||||
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
|
|
||||||
|
|
||||||
// check if this user has the right to run expansion
|
|
||||||
if($user->authorise('validation_rules.run_expansion', 'com_componentbuilder'))
|
|
||||||
{
|
|
||||||
// set massage
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
|
|
||||||
|
|
||||||
// run expansion via API
|
|
||||||
$result = ComponentbuilderHelper::getFileContents(Uri::root() . 'index.php?option=com_componentbuilder&task=api.expand');
|
|
||||||
|
|
||||||
// is there a message returned
|
|
||||||
if (!is_numeric($result) && StringHelper::check($result))
|
|
||||||
{
|
|
||||||
$this->setRedirect($redirect_url, $result);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
elseif (is_numeric($result) && 1 == $result)
|
|
||||||
{
|
|
||||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
|
|
||||||
$this->setRedirect($redirect_url, $message, 'message');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->setRedirect($redirect_url, $message, 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
16
admin/custom/DownloadControllerAdmin.php
Normal file
16
admin/custom/DownloadControllerAdmin.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @version 2.0.0 - September 03, 2014
|
||||||
|
* @package Component Builder
|
||||||
|
* @author Llewellyn van de Merwe <http://www.vdm.io>
|
||||||
|
* @copyright Copyright (C) 2014. All Rights Reserved
|
||||||
|
* @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
[CUSTOMCODE=dynamicDownloadController+Administrator]
|
16
admin/custom/DownloadControllerSite.php
Normal file
16
admin/custom/DownloadControllerSite.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @version 2.0.0 - September 03, 2014
|
||||||
|
* @package Component Builder
|
||||||
|
* @author Llewellyn van de Merwe <http://www.vdm.io>
|
||||||
|
* @copyright Copyright (C) 2014. All Rights Reserved
|
||||||
|
* @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
?>
|
||||||
|
###BOM###
|
||||||
|
[CUSTOMCODE=dynamicDownloadController+Site]
|
@ -52,6 +52,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper;
|
|||||||
use VDM\Joomla\Componentbuilder\Compiler\Factory as CompilerFactory;
|
use VDM\Joomla\Componentbuilder\Compiler\Factory as CompilerFactory;
|
||||||
use VDM\Joomla\Utilities\Base64Helper;
|
use VDM\Joomla\Utilities\Base64Helper;
|
||||||
use VDM\Joomla\FOF\Encrypt\AES;
|
use VDM\Joomla\FOF\Encrypt\AES;
|
||||||
|
use VDM\Joomla\Utilities\DateHelper;
|
||||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||||
use VDM\Joomla\Utilities\String\FieldHelper as StringFieldHelper;
|
use VDM\Joomla\Utilities\String\FieldHelper as StringFieldHelper;
|
||||||
use VDM\Joomla\Utilities\String\TypeHelper;
|
use VDM\Joomla\Utilities\String\TypeHelper;
|
||||||
@ -2164,7 +2165,7 @@ abstract class ComponentbuilderHelper
|
|||||||
{
|
{
|
||||||
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
||||||
{
|
{
|
||||||
self::$session = Factory::getSession();
|
self::$session = Factory::getApplication()->getSession();
|
||||||
}
|
}
|
||||||
// set the defaults
|
// set the defaults
|
||||||
self::setSessionDefaults();
|
self::setSessionDefaults();
|
||||||
@ -2177,7 +2178,7 @@ abstract class ComponentbuilderHelper
|
|||||||
{
|
{
|
||||||
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
||||||
{
|
{
|
||||||
self::$session = Factory::getSession();
|
self::$session = Factory::getApplication()->getSession();
|
||||||
}
|
}
|
||||||
// set to local memory to speed up program
|
// set to local memory to speed up program
|
||||||
self::$localSession[$key] = $value;
|
self::$localSession[$key] = $value;
|
||||||
@ -2192,7 +2193,7 @@ abstract class ComponentbuilderHelper
|
|||||||
{
|
{
|
||||||
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
||||||
{
|
{
|
||||||
self::$session = Factory::getSession();
|
self::$session = Factory::getApplication()->getSession();
|
||||||
}
|
}
|
||||||
// check if in local memory
|
// check if in local memory
|
||||||
if (!isset(self::$localSession[$key]))
|
if (!isset(self::$localSession[$key]))
|
||||||
@ -3513,12 +3514,12 @@ abstract class ComponentbuilderHelper
|
|||||||
'editor', 'editors', 'email', 'file', 'file', 'filelist', 'folderlist', 'groupedlist', 'headertag', 'helpsite', 'hidden', 'imagelist',
|
'editor', 'editors', 'email', 'file', 'file', 'filelist', 'folderlist', 'groupedlist', 'headertag', 'helpsite', 'hidden', 'imagelist',
|
||||||
'integer', 'language', 'list', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition',
|
'integer', 'language', 'list', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition',
|
||||||
'moduletag', 'note', 'number', 'password', 'plugins', 'predefinedlist', 'radio', 'range', 'repeatable', 'rules',
|
'moduletag', 'note', 'number', 'password', 'plugins', 'predefinedlist', 'radio', 'range', 'repeatable', 'rules',
|
||||||
'sessionhandler', 'spacer', 'sql', 'subform', 'tag', 'tel', 'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
'sessionhandler', 'spacer', 'sql', 'subform', 'tag', 'tel', 'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup', 'usergrouplist'
|
||||||
),
|
),
|
||||||
'plain' => array(
|
'plain' => array(
|
||||||
'cachehandler', 'calendar', 'checkbox', 'chromestyle', 'color', 'componentlayout', 'contenttype', 'editor', 'editors', 'captcha',
|
'cachehandler', 'calendar', 'checkbox', 'chromestyle', 'color', 'componentlayout', 'contenttype', 'editor', 'editors', 'captcha',
|
||||||
'email', 'file', 'headertag', 'helpsite', 'hidden', 'integer', 'language', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'templatestyle',
|
'email', 'file', 'headertag', 'helpsite', 'hidden', 'integer', 'language', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'templatestyle',
|
||||||
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup', 'usergrouplist'
|
||||||
),
|
),
|
||||||
'option' => array(
|
'option' => array(
|
||||||
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', 'components',
|
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', 'components',
|
||||||
@ -5228,195 +5229,246 @@ abstract class ComponentbuilderHelper
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change to nice fancy date
|
* Convert a date to a human-readable fancy format (e.g., "1st of January 2024").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Formatted date.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::fancyDate($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function fancyDate($date, $check_stamp = true)
|
public static function fancyDate($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::fancyDate($date, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('jS \o\f F Y',$date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get date based in period past
|
* Get a formatted date based on the time period (dynamic format based on age of the date).
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Formatted date.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::fancyDynamicDate($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function fancyDynamicDate($date, $check_stamp = true)
|
public static function fancyDynamicDate($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::fancyDynamicDate($date, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
// older then year
|
|
||||||
$lastyear = date("Y", strtotime("-1 year"));
|
|
||||||
$tragetyear = date("Y", $date);
|
|
||||||
if ($tragetyear <= $lastyear)
|
|
||||||
{
|
|
||||||
return date('m/d/y', $date);
|
|
||||||
}
|
|
||||||
// same day
|
|
||||||
$yesterday = strtotime("-1 day");
|
|
||||||
if ($date > $yesterday)
|
|
||||||
{
|
|
||||||
return date('g:i A', $date);
|
|
||||||
}
|
|
||||||
// just month day
|
|
||||||
return date('M j', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change to nice fancy day time and date
|
* Convert a date to a human-readable day, time, and date format (e.g., "Mon 12am 1st of January 2024").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Formatted day, time, and date.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::fancyDayTimeDate($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function fancyDayTimeDate($time, $check_stamp = true)
|
public static function fancyDayTimeDate($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($time))
|
return DateHelper::fancyDayTimeDate($date, $checkStamp);
|
||||||
{
|
|
||||||
$time = strtotime($time);
|
|
||||||
}
|
|
||||||
return date('D ga jS \o\f F Y',$time);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change to nice fancy time and date
|
* Convert a date to a human-readable time and date format (e.g., "(12:00) 1st of January 2024").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Formatted time and date.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::fancyDateTime($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function fancyDateTime($time, $check_stamp = true)
|
public static function fancyDateTime($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($time))
|
return DateHelper::fancyDateTime($date, $checkStamp);
|
||||||
{
|
|
||||||
$time = strtotime($time);
|
|
||||||
}
|
|
||||||
return date('(G:i) jS \o\f F Y',$time);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change to nice hour:minutes time
|
* Convert a time to a human-readable format (e.g., "12:00").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Formatted time.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::fancyTime($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function fancyTime($time, $check_stamp = true)
|
public static function fancyTime($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($time))
|
return DateHelper::fancyTime($date, $checkStamp);
|
||||||
{
|
|
||||||
$time = strtotime($time);
|
|
||||||
}
|
|
||||||
return date('G:i',$time);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date day as Sunday through Saturday
|
* Convert a date to the day name (e.g., "Sunday").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Day name.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setDayName($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setDayName($date, $check_stamp = true)
|
public static function setDayName($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setDayName($date, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('l', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date month as January through December
|
* Convert a date to the month name (e.g., "January").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Month name.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setMonthName($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setMonthName($date, $check_stamp = true)
|
public static function setMonthName($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setMonthName($date, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('F', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date day as 1st
|
* Convert a date to the day with suffix (e.g., "1st").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Day with suffix.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setDay($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setDay($date, $check_stamp = true)
|
public static function setDay($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setDay($date, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('jS', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date month as 5
|
* Convert a date to the numeric month (e.g., "5").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Numeric month.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setMonth($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setMonth($date, $check_stamp = true)
|
public static function setMonth($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setMonth($date, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('n', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date year as 2004 (for charts)
|
* Convert a date to the full year (e.g., "2024").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Full year.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setYear($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setYear($date, $check_stamp = true)
|
public static function setYear($date, bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setYear($date, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('Y', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date as 2004/05 (for charts)
|
* Convert a date to a year/month format (e.g., "2024/05").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param string $spacer The spacer between year and month.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Year/Month format.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setYearMonth($date, $spacer, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setYearMonth($date, $spacer = '/', $check_stamp = true)
|
public static function setYearMonth($date, string $spacer = '/', bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setYearMonth($date, $spacer, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('Y' . $spacer . 'm', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date as 2004/05/03 (for charts)
|
* Convert a date to a year/month/day format (e.g., "2024/05/03").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param string $spacer The spacer between year and month.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Year/Month/Day format.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setYearMonthDay($date, $spacer, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setYearMonthDay($date, $spacer = '/', $check_stamp = true)
|
public static function setYearMonthDay($date, string $spacer = '/', bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setYearMonthDay($date, $spacer, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('Y' . $spacer . 'm' . $spacer . 'd', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the date as 03/05/2004
|
* Convert a date to a day/month/year format (e.g., "03/05/2024").
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param string $spacer The spacer between year and month.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return string Day/Month/Year format.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::setDayMonthYear($date, $spacer, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function setDayMonthYear($date, $spacer = '/', $check_stamp = true)
|
public static function setDayMonthYear($date, string $spacer = '/', bool $checkStamp = true): string
|
||||||
{
|
{
|
||||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
return DateHelper::setDayMonthYear($date, $spacer, $checkStamp);
|
||||||
{
|
|
||||||
$date = strtotime($date);
|
|
||||||
}
|
|
||||||
return date('d' . $spacer . 'm' . $spacer . 'Y', $date);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if string is a valid time stamp
|
* Convert a date string to a valid timestamp.
|
||||||
|
*
|
||||||
|
* @param string|int $date The date as a string or timestamp.
|
||||||
|
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||||
|
*
|
||||||
|
* @return int The valid timestamp.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::getValidTimestamp($date, $checkStamp);
|
||||||
*/
|
*/
|
||||||
public static function isValidTimeStamp($timestamp)
|
public static function getValidTimestamp($date, bool $checkStamp): int
|
||||||
{
|
{
|
||||||
return ((int) $timestamp === $timestamp)
|
return DateHelper::getValidTimestamp($date, $checkStamp);
|
||||||
&& ($timestamp <= PHP_INT_MAX)
|
|
||||||
&& ($timestamp >= ~PHP_INT_MAX);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if string is a valid date
|
* Check if the input is a valid Unix timestamp.
|
||||||
* https://www.php.net/manual/en/function.checkdate.php#113205
|
*
|
||||||
|
* @param mixed $timestamp The timestamp to validate.
|
||||||
|
*
|
||||||
|
* @return bool True if valid timestamp, false otherwise.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::isValidTimeStamp($timestamp);
|
||||||
*/
|
*/
|
||||||
public static function isValidateDate($date, $format = 'Y-m-d H:i:s')
|
public static function isValidTimeStamp($timestamp): bool
|
||||||
{
|
{
|
||||||
$d = DateTime::createFromFormat($format, $date);
|
return DateHelper::isValidTimeStamp($timestamp);
|
||||||
return $d && $d->format($format) == $date;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a string is a valid date according to the specified format.
|
||||||
|
*
|
||||||
|
* @param string $date The date string to validate.
|
||||||
|
* @param string $format The format to check against (default is 'Y-m-d H:i:s').
|
||||||
|
*
|
||||||
|
* @return bool True if valid date, false otherwise.
|
||||||
|
* @since 3.0.0
|
||||||
|
* @deprecated 4.0.0 Use DateHelper::isValidateDate($date, $format);
|
||||||
|
*/
|
||||||
|
public static function isValidateDate($date, string $format = 'Y-m-d H:i:s'): bool
|
||||||
|
{
|
||||||
|
return DateHelper::isValidateDate($date, $format);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The subform layouts
|
* The subform layouts
|
||||||
@ -5683,7 +5735,7 @@ abstract class ComponentbuilderHelper
|
|||||||
*
|
*
|
||||||
* @since 3.0.9
|
* @since 3.0.9
|
||||||
*
|
*
|
||||||
* @deprecated 4.0 - Use PluginHelper::safe($name, $group);
|
* @deprecated 4.0 - Use PluginHelper::safeClassName($name, $group);
|
||||||
*/
|
*/
|
||||||
public static function createPluginClassName($group, $name)
|
public static function createPluginClassName($group, $name)
|
||||||
{
|
{
|
||||||
|
@ -1018,8 +1018,6 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_READWRITE="read/write"
|
|||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_REDUNDANT="REDUNDANT"
|
COM_COMPONENTBUILDER_ADMIN_VIEW_REDUNDANT="REDUNDANT"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_REMOVE="Remove"
|
COM_COMPONENTBUILDER_ADMIN_VIEW_REMOVE="Remove"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_REPLY="Reply"
|
COM_COMPONENTBUILDER_ADMIN_VIEW_REPLY="Reply"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS="Admin View Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_COPY="Save Copy"
|
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_COPY="Save Copy"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_NEW="Save New"
|
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_NEW="Save New"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Admin View to customise the alias."
|
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Admin View to customise the alias."
|
||||||
@ -1289,7 +1287,6 @@ COM_COMPONENTBUILDER_ALIGNMENT="Alignment"
|
|||||||
COM_COMPONENTBUILDER_ALL="All"
|
COM_COMPONENTBUILDER_ALL="All"
|
||||||
COM_COMPONENTBUILDER_ALLOWS_YOU_TO_OVERRIDE_THE_BUILD_DATE_BY_SELECTING_A_DATE_MANUALLY_FROM_THE_CALENDER="Allows you to override the build date by selecting a date manually from the calender."
|
COM_COMPONENTBUILDER_ALLOWS_YOU_TO_OVERRIDE_THE_BUILD_DATE_BY_SELECTING_A_DATE_MANUALLY_FROM_THE_CALENDER="Allows you to override the build date by selecting a date manually from the calender."
|
||||||
COM_COMPONENTBUILDER_ALL_FOUND_INSTANCES_IN_S_WHERE_REPLACED="All found instances in %s where replaced"
|
COM_COMPONENTBUILDER_ALL_FOUND_INSTANCES_IN_S_WHERE_REPLACED="All found instances in %s where replaced"
|
||||||
COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER="All is good, please check again later"
|
|
||||||
COM_COMPONENTBUILDER_ALL_IS_GOOD_THERE_IS_NO_NOTICE_AT_THIS_TIME="All is good, there is no notice at this time."
|
COM_COMPONENTBUILDER_ALL_IS_GOOD_THERE_IS_NO_NOTICE_AT_THIS_TIME="All is good, there is no notice at this time."
|
||||||
COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA="All of these packages are a fully developed/mapped components for JCB. They can be seen as demo content, or base images from which to start your project.<br />Always make sure you are on the latest version of JCB before importing any of these packages, should any of them fail to import <a %s >please let us know</a>."
|
COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA="All of these packages are a fully developed/mapped components for JCB. They can be seen as demo content, or base images from which to start your project.<br />Always make sure you are on the latest version of JCB before importing any of these packages, should any of them fail to import <a %s >please let us know</a>."
|
||||||
COM_COMPONENTBUILDER_ALL_THE_FIELDS_AND_VIEWS_FROM_YOUR_SQL_DUMP_HAS_BEEN_CREATED_AND_LINKED_TO_THIS_COMPONENT="All the fields and views from your sql dump has been created and linked to this component."
|
COM_COMPONENTBUILDER_ALL_THE_FIELDS_AND_VIEWS_FROM_YOUR_SQL_DUMP_HAS_BEEN_CREATED_AND_LINKED_TO_THIS_COMPONENT="All the fields and views from your sql dump has been created and linked to this component."
|
||||||
@ -1349,11 +1346,11 @@ COM_COMPONENTBUILDER_BSB_COULD_NOT_BE_IMPORTEDS="<b>%s</b> could not be imported
|
|||||||
COM_COMPONENTBUILDER_BSB_HAS_BEEN_IMPORTED="<b>%s</b> has been imported!"
|
COM_COMPONENTBUILDER_BSB_HAS_BEEN_IMPORTED="<b>%s</b> has been imported!"
|
||||||
COM_COMPONENTBUILDER_BSB_HAS_BEEN_UPDATED="<b>%s</b> has been updated!"
|
COM_COMPONENTBUILDER_BSB_HAS_BEEN_UPDATED="<b>%s</b> has been updated!"
|
||||||
COM_COMPONENTBUILDER_BSB_WAS_FOUND="<b>%s</b> was found!"
|
COM_COMPONENTBUILDER_BSB_WAS_FOUND="<b>%s</b> was found!"
|
||||||
COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB="<b>The expansion was successfully!</b> to see more information change the <b>Return Options for Build</b> to <b>Display Message</b> in the global options of JCB under the Development Method tab.</b>"
|
COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB="<b>The tmp folder has been cleared successfully!</b>"
|
||||||
COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB="<b>The tmp folder has been clear successfully!</b>"
|
|
||||||
COM_COMPONENTBUILDER_BUILD="Build"
|
COM_COMPONENTBUILDER_BUILD="Build"
|
||||||
COM_COMPONENTBUILDER_BUILDIN="Build-in"
|
COM_COMPONENTBUILDER_BUILDIN="Build-in"
|
||||||
COM_COMPONENTBUILDER_BUILD_DATE="Build Date"
|
COM_COMPONENTBUILDER_BUILD_DATE="Build Date"
|
||||||
|
COM_COMPONENTBUILDER_BUILD_INNOVATE_AND_THRIVE_WITH_LLEWELLYN_ON_GITHUB_TURNING_IDEAS_INTO_IMPACT="Build, Innovate, and Thrive with Llewellyn on GitHub: Turning Ideas into Impact!"
|
||||||
COM_COMPONENTBUILDER_BULK="Bulk"
|
COM_COMPONENTBUILDER_BULK="Bulk"
|
||||||
COM_COMPONENTBUILDER_BULK_GET_ALL_NEW_SNIPPETS="Bulk Get All New Snippets"
|
COM_COMPONENTBUILDER_BULK_GET_ALL_NEW_SNIPPETS="Bulk Get All New Snippets"
|
||||||
COM_COMPONENTBUILDER_BULK_TOOLS="Bulk Tools"
|
COM_COMPONENTBUILDER_BULK_TOOLS="Bulk Tools"
|
||||||
@ -1363,6 +1360,7 @@ COM_COMPONENTBUILDER_BULK_UPDATE_ALL_DIVERGED_SNIPPETS="Bulk Update All Diverged
|
|||||||
COM_COMPONENTBUILDER_BULK_UPDATE_ALL_OUT_DATED_SNIPPETS="Bulk Update All Out Dated Snippets"
|
COM_COMPONENTBUILDER_BULK_UPDATE_ALL_OUT_DATED_SNIPPETS="Bulk Update All Out Dated Snippets"
|
||||||
COM_COMPONENTBUILDER_BUTTON_TO_CREATE_S_WILL_SHOW_ONCE_S_IS_SAVED_FOR_THE_FIRST_TIME="Button to create %s will show once %s is saved for the first time."
|
COM_COMPONENTBUILDER_BUTTON_TO_CREATE_S_WILL_SHOW_ONCE_S_IS_SAVED_FOR_THE_FIRST_TIME="Button to create %s will show once %s is saved for the first time."
|
||||||
COM_COMPONENTBUILDER_CANCEL="Cancel"
|
COM_COMPONENTBUILDER_CANCEL="Cancel"
|
||||||
|
COM_COMPONENTBUILDER_CAN_NOT_SAVE_USER_WITHOUT_EMAIL_VALUE="Can not save user without email value."
|
||||||
COM_COMPONENTBUILDER_CHAIN="Chain"
|
COM_COMPONENTBUILDER_CHAIN="Chain"
|
||||||
COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="Check your owner details, it has not been set. Open the JCB Global Options, go to the Company tab and add the correct company details there."
|
COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="Check your owner details, it has not been set. Open the JCB Global Options, go to the Company tab and add the correct company details there."
|
||||||
COM_COMPONENTBUILDER_CLASS_EXTENDINGS="Class Extendings"
|
COM_COMPONENTBUILDER_CLASS_EXTENDINGS="Class Extendings"
|
||||||
@ -1649,6 +1647,7 @@ COM_COMPONENTBUILDER_CLONE_FAILED="Clone failed!"
|
|||||||
COM_COMPONENTBUILDER_CLOSE_NEW="Close & New"
|
COM_COMPONENTBUILDER_CLOSE_NEW="Close & New"
|
||||||
COM_COMPONENTBUILDER_CODE="Code"
|
COM_COMPONENTBUILDER_CODE="Code"
|
||||||
COM_COMPONENTBUILDER_CODESTRINGS="code/strings"
|
COM_COMPONENTBUILDER_CODESTRINGS="code/strings"
|
||||||
|
COM_COMPONENTBUILDER_COLLABORATE_AND_INNOVATE_WITH_LLEWELLYN_ON_GIT_BUILDING_A_BETTER_CODE_FUTURE="Collaborate and Innovate with Llewellyn on Git: Building a Better Code Future!"
|
||||||
COM_COMPONENTBUILDER_COMMUNITY_PACKAGES="Community Packages"
|
COM_COMPONENTBUILDER_COMMUNITY_PACKAGES="Community Packages"
|
||||||
COM_COMPONENTBUILDER_COMPANY="Company"
|
COM_COMPONENTBUILDER_COMPANY="Company"
|
||||||
COM_COMPONENTBUILDER_COMPANY_NAME="Company Name"
|
COM_COMPONENTBUILDER_COMPANY_NAME="Company Name"
|
||||||
@ -1664,8 +1663,6 @@ COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC="Allows the
|
|||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_DESC="The compiler"
|
COM_COMPONENTBUILDER_COMPILER_DESC="The compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS="Compiler Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
|
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
|
||||||
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
|
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS="Compiler Translate Button Access"
|
COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS="Compiler Translate Button Access"
|
||||||
@ -2229,6 +2226,8 @@ COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS_DESCRIPTION="Setup the
|
|||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS_LABEL="Admin Views"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS_LABEL="Admin Views"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDMENU="Add+Menu"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDMENU="Add+Menu"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDRESS="Address"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADDRESS="Address"
|
||||||
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADD_API_DESCRIPTION="add API option to this admin view. (only Joomla 4+)"
|
||||||
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADD_API_LABEL="API"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW="Adminview"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW="Adminview"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_DESCRIPTION="Select an admin view"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_DESCRIPTION="Select an admin view"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_LABEL="View"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ADMINVIEW_LABEL="View"
|
||||||
@ -2259,6 +2258,7 @@ COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BASKET="Basket"
|
|||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOOK="Book"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOOK="Book"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOOKMARK="Bookmark"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOOKMARK="Bookmark"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOOKMARK_2="Bookmark 2"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOOKMARK_2="Bookmark 2"
|
||||||
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOTH="Both"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOX_ADD="Box Add"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOX_ADD="Box Add"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOX_REMOVE="Box Remove"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BOX_REMOVE="Box Remove"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BRIEFCASE="Briefcase"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_BRIEFCASE="Briefcase"
|
||||||
@ -2361,6 +2361,7 @@ COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_IMAGE="Image"
|
|||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_IMAGES="Images"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_IMAGES="Images"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_INFO="Info"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_INFO="Info"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_INFO_CIRCLE="Info Circle"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_INFO_CIRCLE="Info Circle"
|
||||||
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_ITEM="Item"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA="Joomla"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA="Joomla"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION="Select a Joomla Component"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION="Select a Joomla Component"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_LABEL="Component"
|
COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_LABEL="Component"
|
||||||
@ -2963,7 +2964,6 @@ COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_SAVE_WARNING="Alias already existed
|
|||||||
COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_STATUS="Status"
|
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_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_FILES_FOLDERS_VERSION_LABEL="Version"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_GLOBAL_SETTINGS="Component Global Settings"
|
|
||||||
COM_COMPONENTBUILDER_COMPONENT_MODULES="Component Modules"
|
COM_COMPONENTBUILDER_COMPONENT_MODULES="Component Modules"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES_DESCRIPTION="Setup the Joomla modules for this component."
|
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_ADDJOOMLA_MODULES_LABEL="Joomla Modules"
|
||||||
@ -3179,6 +3179,7 @@ COM_COMPONENTBUILDER_COMPONENT_ROUTER_SITEVIEW_LABEL="View"
|
|||||||
COM_COMPONENTBUILDER_COMPONENT_ROUTER_STATUS="Status"
|
COM_COMPONENTBUILDER_COMPONENT_ROUTER_STATUS="Status"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ROUTER_VERSION_DESC="A count of the number of times this Component Router has been revised."
|
COM_COMPONENTBUILDER_COMPONENT_ROUTER_VERSION_DESC="A count of the number of times this Component Router has been revised."
|
||||||
COM_COMPONENTBUILDER_COMPONENT_ROUTER_VERSION_LABEL="Version"
|
COM_COMPONENTBUILDER_COMPONENT_ROUTER_VERSION_LABEL="Version"
|
||||||
|
COM_COMPONENTBUILDER_COMPONENT_SETTINGS="Component Settings"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS="Component Site Views"
|
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS="Component Site Views"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ACCESS_DESCRIPTION="Select if this view<br />should use access."
|
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ACCESS_DESCRIPTION="Select if this view<br />should use access."
|
||||||
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ACCESS_LABEL="Add Access"
|
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ACCESS_LABEL="Add Access"
|
||||||
@ -3275,7 +3276,7 @@ COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_STATE_DESCRIPTION="Set the release
|
|||||||
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_STATE_HINT="stable"
|
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_STATE_HINT="stable"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_STATE_LABEL="Release State"
|
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_STATE_LABEL="Release State"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_TARGET_VERSION_DESCRIPTION="Set the release target version"
|
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_TARGET_VERSION_DESCRIPTION="Set the release target version"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_TARGET_VERSION_HINT="3.*"
|
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_TARGET_VERSION_HINT="5\.[012]"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_TARGET_VERSION_LABEL="Update Server Release Target Version"
|
COM_COMPONENTBUILDER_COMPONENT_UPDATES_UPDATE_TARGET_VERSION_LABEL="Update Server Release Target Version"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_UPDATES_URL_DESCRIPTION="Enter Download Link"
|
COM_COMPONENTBUILDER_COMPONENT_UPDATES_URL_DESCRIPTION="Enter Download Link"
|
||||||
COM_COMPONENTBUILDER_COMPONENT_UPDATES_URL_HINT="http://www.example.com/file.zip"
|
COM_COMPONENTBUILDER_COMPONENT_UPDATES_URL_HINT="http://www.example.com/file.zip"
|
||||||
@ -3294,12 +3295,11 @@ COM_COMPONENTBUILDER_CONDITIONS="Conditions"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_ACTIVE="Active"
|
COM_COMPONENTBUILDER_CONFIG_ACTIVE="Active"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION="Would you like to add a prefix to the Joomla menu name of your components"
|
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_DESCRIPTION="Would you like to add a prefix to the Joomla menu name of your components"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL="Add Menu Prefix"
|
COM_COMPONENTBUILDER_CONFIG_ADD_MENU_PREFIX_LABEL="Add Menu Prefix"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADD_PLACEHOLDERS_DESCRIPTION="Should JCB insert the custom code placeholders? This is only applicable if this component has custom code."
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADD_PLACEHOLDERS_LABEL="Add Custom Code Placeholders"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS="Admin Custom Tabs (tabs)"
|
COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS="Admin Custom Tabs (tabs)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_ADDFIELDS="Admin Fields (addfields)"
|
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_ADDFIELDS="Admin Fields (addfields)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS="Admin Fields Conditions (addconditions)"
|
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS="Admin Fields Conditions (addconditions)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_RELATIONS_ADDRELATIONS="Admin Fields Relations (addrelations)"
|
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_RELATIONS_ADDRELATIONS="Admin Fields Relations (addrelations)"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_ADMIN_VIEWS_AJAX_INPUT="Admin Views (ajax_input)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ALMOST_FLAT_LOAD="Almost Flat"
|
COM_COMPONENTBUILDER_CONFIG_ALMOST_FLAT_LOAD="Almost Flat"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC="Alphanumeric"
|
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC="Alphanumeric"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT="Alphanumeric+dot"
|
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT="Alphanumeric+dot"
|
||||||
@ -3316,7 +3316,6 @@ COM_COMPONENTBUILDER_CONFIG_AUTO_BACKUP="Auto Backup"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_AUTO_LOAD="Auto"
|
COM_COMPONENTBUILDER_CONFIG_AUTO_LOAD="Auto"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_DESCRIPTION="You can run a cronjob that will backup all your components as they are mapped in JCB.<br /><br /><b>USE THE FOLLOWING:</b> <span id='cronjob-backup'>loading...<span class='loading-backup-dots' ></span></span><br /><br />Please note that if your Joomla website has a Firewall installed, it will not allow cronjob via direct URL (most of the time), you will then need to adapt the cornjob request to look like a browser. For more info please read https://stackoverflow.com/a/31597823/1429677<script type='text/javascript'>document.addEventListener('DOMContentLoaded', function() { var inputs = document.forms[0].querySelectorAll('input'); Array.prototype.forEach.call(inputs, function(elm) { if (elm.name.length === 32 && elm.type === 'hidden') { var value = elm.value; if (value === '1') { token = elm.name; } } }); let x = 0; var intervalBackup = setInterval(function() { let dots = ''; x++; for (var y = 0; y < x % 11; y++) { dots += '.'; } let loading_dots = document.querySelector('.loading-backup-dots'); if (loading_dots) { loading_dots.textContent = dots; } else { clearInterval(intervalBackup); } }, 500); getCronPath('backup', token);});function getCronPath_server(getType, token) { let getUrl = 'index.php?option=com_componentbuilder&task=ajax.getCronPath&format=json&raw=true'; if (token.length > 0 && getType.length > 0) { var request = new URLSearchParams({ token: token, getType: getType }); } return fetch(getUrl + '&' + request, { method: 'GET', headers: { 'Accept': 'application/json' } }).then(response => response.json());}function getCronPath(getType, token) { getCronPath_server(getType, token).then(function(result) { let cronJobElement = document.getElementById('cronjob-' + getType); if (result.path) { cronJobElement.innerHTML = result.path; } else if (result.error) { cronJobElement.innerHTML = result.error; } else { cronJobElement.innerHTML = '<span style="color: red;">Error loading path!</span>'; } });}</script>"
|
COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_DESCRIPTION="You can run a cronjob that will backup all your components as they are mapped in JCB.<br /><br /><b>USE THE FOLLOWING:</b> <span id='cronjob-backup'>loading...<span class='loading-backup-dots' ></span></span><br /><br />Please note that if your Joomla website has a Firewall installed, it will not allow cronjob via direct URL (most of the time), you will then need to adapt the cornjob request to look like a browser. For more info please read https://stackoverflow.com/a/31597823/1429677<script type='text/javascript'>document.addEventListener('DOMContentLoaded', function() { var inputs = document.forms[0].querySelectorAll('input'); Array.prototype.forEach.call(inputs, function(elm) { if (elm.name.length === 32 && elm.type === 'hidden') { var value = elm.value; if (value === '1') { token = elm.name; } } }); let x = 0; var intervalBackup = setInterval(function() { let dots = ''; x++; for (var y = 0; y < x % 11; y++) { dots += '.'; } let loading_dots = document.querySelector('.loading-backup-dots'); if (loading_dots) { loading_dots.textContent = dots; } else { clearInterval(intervalBackup); } }, 500); getCronPath('backup', token);});function getCronPath_server(getType, token) { let getUrl = 'index.php?option=com_componentbuilder&task=ajax.getCronPath&format=json&raw=true'; if (token.length > 0 && getType.length > 0) { var request = new URLSearchParams({ token: token, getType: getType }); } return fetch(getUrl + '&' + request, { method: 'GET', headers: { 'Accept': 'application/json' } }).then(response => response.json());}function getCronPath(getType, token) { getCronPath_server(getType, token).then(function(result) { let cronJobElement = document.getElementById('cronjob-' + getType); if (result.path) { cronJobElement.innerHTML = result.path; } else if (result.error) { cronJobElement.innerHTML = result.error; } else { cronJobElement.innerHTML = '<span style="color: red;">Error loading path!</span>'; } });}</script>"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_LABEL="Backup JCB Mapped Components"
|
COM_COMPONENTBUILDER_CONFIG_BACKUPCRONJOB_NOTE_LABEL="Backup JCB Mapped Components"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_DESCRIPTION="Should the zipped package of the component be moved to the local backup and remote sales server? This is only applicable if this component has those values set."
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_DESCRIPTION="Enter the email where the <b>backup key</b> should be send. It will only send an email if a key change is detected, and not on every backup."
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_DESCRIPTION="Enter the email where the <b>backup key</b> should be send. It will only send an email if a key change is detected, and not on every backup."
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_HINT="Email Address Here"
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_HINT="Email Address Here"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_LABEL="Email (backup key)"
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_EMAIL_LABEL="Email (backup key)"
|
||||||
@ -3325,7 +3324,6 @@ COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_DESCRIPTION="Here you can set the
|
|||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_HINT="/home/user/backup"
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_HINT="/home/user/backup"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_LABEL="Backup Folder Path"
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_LABEL="Backup Folder Path"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_MESSAGE="Error! Please add folder path here."
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_MESSAGE="Error! Please add folder path here."
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_LABEL="Add to Backup Folder & Sales Server <small>(if set)</small>"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_DESCRIPTION="Enter Package Name Here"
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_DESCRIPTION="Enter Package Name Here"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_HINT="JCB_Backup_[YEAR]_[MONTH]_[DAY]"
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_HINT="JCB_Backup_[YEAR]_[MONTH]_[DAY]"
|
||||||
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_LABEL="Package Name"
|
COM_COMPONENTBUILDER_CONFIG_BACKUP_PACKAGE_NAME_LABEL="Package Name"
|
||||||
@ -3358,8 +3356,6 @@ COM_COMPONENTBUILDER_CONFIG_COMPONENT_ADMIN_VIEWS_ADDADMIN_VIEWS="Component Admi
|
|||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_MENUS_ADDCUSTOMMENUS="Component Custom Admin Menus (addcustommenus)"
|
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_MENUS_ADDCUSTOMMENUS="Component Custom Admin Menus (addcustommenus)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_VIEWS_ADDCUSTOM_ADMIN_VIEWS="Component Custom Admin Views (addcustom_admin_views)"
|
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_VIEWS_ADDCUSTOM_ADMIN_VIEWS="Component Custom Admin Views (addcustom_admin_views)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_DASHBOARD_DASHBOARD_TAB="Component Dashboard (dashboard_tab)"
|
COM_COMPONENTBUILDER_CONFIG_COMPONENT_DASHBOARD_DASHBOARD_TAB="Component Dashboard (dashboard_tab)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_ID="Component Id"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_ID_LABEL="Component"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS="Component Site Views (addsite_views)"
|
COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS="Component Site Views (addsite_views)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_UPDATES_VERSION_UPDATE="Component Updates (version_update)"
|
COM_COMPONENTBUILDER_CONFIG_COMPONENT_UPDATES_VERSION_UPDATE="Component Updates (version_update)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION="Here you can set the path to where all components are backed up to."
|
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION="Here you can set the path to where all components are backed up to."
|
||||||
@ -3370,15 +3366,12 @@ COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_DESCRIPTION="Select your backu
|
|||||||
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_LABEL="Cronjob Backup Server"
|
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_LABEL="Cronjob Backup Server"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_TYPE_DESCRIPTION="Select how you would like to backup JCB"
|
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_TYPE_DESCRIPTION="Select how you would like to backup JCB"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_TYPE_LABEL="Cronjob Backup type"
|
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_TYPE_LABEL="Cronjob Backup type"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_CUSTOM_ADMIN_VIEWS_AJAX_INPUT="Custom Admin Views (ajax_input)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_DESCRIPTION="Here you can set the path to the custom folder"
|
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_DESCRIPTION="Here you can set the path to the custom folder"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_HINT="/home/user/custom"
|
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_HINT="/home/user/custom"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_LABEL="Custom Folder Path"
|
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_LABEL="Custom Folder Path"
|
||||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_MESSAGE="Error! Please add folder path here."
|
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_MESSAGE="Error! Please add folder path here."
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEFAULT="Default"
|
COM_COMPONENTBUILDER_CONFIG_DEFAULT="Default"
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD="Development Method"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD_DESCRIPTION="Select what development method you would like to use."
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DEVELOPMENT_METHOD_LABEL="Development Method"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DISPLAY_MESSAGE="Display Message"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_DKIM="DKIM"
|
COM_COMPONENTBUILDER_CONFIG_DKIM="DKIM"
|
||||||
COM_COMPONENTBUILDER_CONFIG_DKIM_DESCRIPTION="Set this option to Yes if you want to sign your emails using DKIM."
|
COM_COMPONENTBUILDER_CONFIG_DKIM_DESCRIPTION="Set this option to Yes if you want to sign your emails using DKIM."
|
||||||
COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_DESCRIPTION="Set the domain. Eg. domain.com"
|
COM_COMPONENTBUILDER_CONFIG_DKIM_DOMAIN_DESCRIPTION="Set the domain. Eg. domain.com"
|
||||||
@ -3428,11 +3421,6 @@ COM_COMPONENTBUILDER_CONFIG_EVERY_HOUR="Every Hour"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_EVERY_MINUTE="Every Minute"
|
COM_COMPONENTBUILDER_CONFIG_EVERY_MINUTE="Every Minute"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EVERY_SESSION="Every Session"
|
COM_COMPONENTBUILDER_CONFIG_EVERY_SESSION="Every Session"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EVERY_WEEK="Every Week"
|
COM_COMPONENTBUILDER_CONFIG_EVERY_WEEK="Every Week"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPANSION="Expansion"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPANSIONCRONJOB_NOTE_DESCRIPTION="You must run a cronjob that will trigger the expansion events for JCB.<br /><br /><b>USE THE FOLLOWING:</b> <span id='cronjob-expand'>loading...<span class='loading-expand-dots' ></span></span><br /><br />Please note that if your Joomla website has a Firewall installed, it will not allow cronjob via direct URL (most of the time), you will then need to adapt the cornjob request to look like a browser. For more info please read https://stackoverflow.com/a/31597823/1429677<script type='text/javascript'>document.addEventListener('DOMContentLoaded', function() { var inputs = document.forms[0].querySelectorAll('input'); Array.prototype.forEach.call(inputs, function(elm) { if (elm.name.length === 32 && elm.type === 'hidden') { var value = elm.value; if (value === '1') { token = elm.name; } } }); let x = 0; var intervalExpand = setInterval(function() { let dots = ''; x++; for (var y = 0; y < x % 11; y++) { dots += '.'; } let loading_dots = document.querySelector('.loading-expand-dots'); if (loading_dots) { loading_dots.textContent = dots; } else { clearInterval(intervalExpand); } }, 500); getCronPath('expand', token);});</script>"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPANSIONCRONJOB_NOTE_LABEL="Expansion Cronjob"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPANSION_DESCRIPTION="Properties for this field"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPANSION_LABEL="Expansion"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_DESCRIPTION="Enter link where your JCB package key can be bought."
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_DESCRIPTION="Enter link where your JCB package key can be bought."
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_HINT="http://www.example.com/buy-keys"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_HINT="http://www.example.com/buy-keys"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_LABEL="Buy Link<br /><small>(to get key)</small>"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_BUY_LINK_LABEL="Buy Link<br /><small>(to get key)</small>"
|
||||||
@ -3453,15 +3441,14 @@ COM_COMPONENTBUILDER_CONFIG_EXPORT_LANGUAGE_STRINGS_LABEL="Export Language Strin
|
|||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_DESCRIPTION="Add License Here"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_DESCRIPTION="Add License Here"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_HINT="Add License Here"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_HINT="Add License Here"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_LABEL="License"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_LICENSE_LABEL="License"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_DESCRIPTION="The Owner's Name & Surname."
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_DESCRIPTION="Add the global owner's first and last name for all new extension."
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_HINT="Owner Name & Surname Here"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_HINT="Owner First and Last Name"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_LABEL="Owner"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_LABEL="Owner"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_MESSAGE="Error! Please add owner name here."
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_OWNER_MESSAGE="Error! Please add owner name here."
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_DESCRIPTION="Enter website address"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_DESCRIPTION="Enter website address"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_HINT="http://www.example.com"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_HINT="https://www.example.com"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_LABEL="Website"
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_LABEL="Website"
|
||||||
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_MESSAGE="Error! Please add website here."
|
COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_MESSAGE="Error! Please add website here."
|
||||||
COM_COMPONENTBUILDER_CONFIG_FALSE="False"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_FIELDTYPE_PROPERTIES="Fieldtype (properties)"
|
COM_COMPONENTBUILDER_CONFIG_FIELDTYPE_PROPERTIES="Fieldtype (properties)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like <em>1</em> becomes <b>one</b>.<br />Alphanumeric keeps the numbers unconverted unless it is at the beginning of the field name.<br />Should you change this it will cause a database updates <i>(during your next compilation)</i> for all fields that has numbers in the name of the field. So it is really not a good idea to change this option every so often, you should rather select what you would like to use and keep it like that.<br />All VDM/JCB components work on the <b>Default</b> option."
|
COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like <em>1</em> becomes <b>one</b>.<br />Alphanumeric keeps the numbers unconverted unless it is at the beginning of the field name.<br />Should you change this it will cause a database updates <i>(during your next compilation)</i> for all fields that has numbers in the name of the field. So it is really not a good idea to change this option every so often, you should rather select what you would like to use and keep it like that.<br />All VDM/JCB components work on the <b>Default</b> option."
|
||||||
COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_LABEL="Field Name Builder<br /><small>(in compiler)</small>"
|
COM_COMPONENTBUILDER_CONFIG_FIELD_NAME_BUILDER_LABEL="Field Name Builder<br /><small>(in compiler)</small>"
|
||||||
@ -3493,8 +3480,6 @@ COM_COMPONENTBUILDER_CONFIG_HIDE="Hide"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_DESCRIPTION="Force that all JCB package import (search for local items) is done with GUID value only."
|
COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_DESCRIPTION="Force that all JCB package import (search for local items) is done with GUID value only."
|
||||||
COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_LABEL="Import by GUID only!"
|
COM_COMPONENTBUILDER_CONFIG_IMPORT_GUID_ONLY_LABEL="Import by GUID only!"
|
||||||
COM_COMPONENTBUILDER_CONFIG_INACTIVE="Inactive"
|
COM_COMPONENTBUILDER_CONFIG_INACTIVE="Inactive"
|
||||||
COM_COMPONENTBUILDER_CONFIG_INSTALL_DESCRIPTION="Component locally"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_INSTALL_LABEL="Install"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_INTELLIGENT_ADDREMOVEIF="Intelligent (add&remove+if)"
|
COM_COMPONENTBUILDER_CONFIG_INTELLIGENT_ADDREMOVEIF="Intelligent (add&remove+if)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
|
COM_COMPONENTBUILDER_CONFIG_JCB_COMMUNITY_PACKAGES="JCB Community Packages"
|
||||||
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGES="JCB Packages"
|
COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGES="JCB Packages"
|
||||||
@ -3544,10 +3529,6 @@ COM_COMPONENTBUILDER_CONFIG_NOTE_COMPILER_FOLDER_PATH_DESCRIPTION="The compiler
|
|||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_COMPILER_FOLDER_PATH_LABEL="Moving The Compiler Folder"
|
COM_COMPONENTBUILDER_CONFIG_NOTE_COMPILER_FOLDER_PATH_LABEL="Moving The Compiler Folder"
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_DESCRIPTION="The custom folder is where all files and folders that you would like to include in your components are stored, the default location is [administrator/components/com_componentbuilder/custom]. You can move this folder by adding your own path here. Remember to move the content of the default custom folder to this new location."
|
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_DESCRIPTION="The custom folder is where all files and folders that you would like to include in your components are stored, the default location is [administrator/components/com_componentbuilder/custom]. You can move this folder by adding your own path here. Remember to move the content of the default custom folder to this new location."
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_LABEL="Moving The Custom Folder"
|
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_LABEL="Moving The Custom Folder"
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_DESCRIPTION="<p>This method is basically the way JCB has always worked by default.</p><p>So once you have made changes, you go to the compiler view and compile your component. Then you have the option to install and/or distribute the Joomla installation package.</p><p>This option will always be active to those with permission to access the compiler. You can change this permission in the Permissions tab with the option called <b>Compiler Access</b>.</p>"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_LABEL="Default Development Method"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_DESCRIPTION="<p>This method adds easy compile and install of multiple components to the current Joomla system. This automated action is called <b>expansion</b>.</p><p><em>Expansion can be achieved in two ways.</em></p><h4>Button Expansion Option</h4><p>The first and most common way is to click on any of the <b>Run Expansion</b> buttons found at the top of some of the JCB admin views.</p><h4>Cronjob Expansion Option</h4><p>The second is by running a cronjob as explained bellow the area of selection in this tab. So you do not need to manually compile and install the selected components any more, the system does all that automatically for you. The latency of the workflow is based on your <b>cronjob frequency</b> and the <b>size</b> of your component.</p><p>Expansion is pause for a component in a few ways, one by actually <b>checking out/opening</b> the Joomla Component view of the component in JCB, or changing the state to unpublish, archive or trashed, or simply remove if from the list below.</p><h3>The Expansion method is there to speedup development testing.</h3><p>Below you should set the behaviour of a selected set of components that will be <b>auto build and installed</b> when the expansion module is run.</p>"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_LABEL="Expansion Development Method"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_DESCRIPTION="<p>Using the below details, you need to configure your DNS by adding a TXT record on your domain: <b><span id='a_dkim_domain'></span></b></p><script>document.addEventListener('DOMContentLoaded', function() { var jformDkimDomain = document.querySelector('#jform_dkim_domain'); if (!jformDkimDomain.value) { jformDkimDomain.value = window.location.hostname; } document.querySelector('#jform_dkim_key').addEventListener('click', function() { this.select(); }); document.querySelector('#jform_dkim_value').addEventListener('click', function() { this.select(); }); vdm_dkim();});function vdm_dkim() { var jformDkimDomain = document.querySelector('#jform_dkim_domain'); document.querySelector('#a_dkim_domain').textContent = jformDkimDomain.value; var jformDkimKey = document.querySelector('#jform_dkim_key'); jformDkimKey.value = document.querySelector('#jform_dkim_selector').value + '._domainkey'; var jformDkimPublicKey = document.querySelector('#jform_dkim_public_key').value; var jformDkimValue = document.querySelector('#jform_dkim_value'); if (!jformDkimPublicKey) { jformDkimValue.value = 'v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY'; } else { jformDkimValue.value = 'v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=' + jformDkimPublicKey; }}</script>"
|
COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_DESCRIPTION="<p>Using the below details, you need to configure your DNS by adding a TXT record on your domain: <b><span id='a_dkim_domain'></span></b></p><script>document.addEventListener('DOMContentLoaded', function() { var jformDkimDomain = document.querySelector('#jform_dkim_domain'); if (!jformDkimDomain.value) { jformDkimDomain.value = window.location.hostname; } document.querySelector('#jform_dkim_key').addEventListener('click', function() { this.select(); }); document.querySelector('#jform_dkim_value').addEventListener('click', function() { this.select(); }); vdm_dkim();});function vdm_dkim() { var jformDkimDomain = document.querySelector('#jform_dkim_domain'); document.querySelector('#a_dkim_domain').textContent = jformDkimDomain.value; var jformDkimKey = document.querySelector('#jform_dkim_key'); jformDkimKey.value = document.querySelector('#jform_dkim_selector').value + '._domainkey'; var jformDkimPublicKey = document.querySelector('#jform_dkim_public_key').value; var jformDkimValue = document.querySelector('#jform_dkim_value'); if (!jformDkimPublicKey) { jformDkimValue.value = 'v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY'; } else { jformDkimValue.value = 'v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=' + jformDkimPublicKey; }}</script>"
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_LABEL="Server Configuration"
|
COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_LABEL="Server Configuration"
|
||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_GIT_FOLDER_PATH_DESCRIPTION="You must set the folder where all the components should be deployed for git. You will have to still do your git commit and other git commands yourself. Each component will create their own folder inside this git folder."
|
COM_COMPONENTBUILDER_CONFIG_NOTE_GIT_FOLDER_PATH_DESCRIPTION="You must set the folder where all the components should be deployed for git. You will have to still do your git commit and other git commands yourself. Each component will create their own folder inside this git folder."
|
||||||
@ -3562,7 +3543,6 @@ COM_COMPONENTBUILDER_CONFIG_NOTE_SUPER_POWERS_REPOSITORIES_DESCRIPTION="<p>We ha
|
|||||||
COM_COMPONENTBUILDER_CONFIG_NOTE_SUPER_POWERS_REPOSITORIES_LABEL="Super Powers Repositories [layer:local:own]"
|
COM_COMPONENTBUILDER_CONFIG_NOTE_SUPER_POWERS_REPOSITORIES_LABEL="Super Powers Repositories [layer:local:own]"
|
||||||
COM_COMPONENTBUILDER_CONFIG_OFF="Off"
|
COM_COMPONENTBUILDER_CONFIG_OFF="Off"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ON="On"
|
COM_COMPONENTBUILDER_CONFIG_ON="On"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ONLY_BOOLEAN="Only Boolean"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_ONLY_EXTRA="Only Extra"
|
COM_COMPONENTBUILDER_CONFIG_ONLY_EXTRA="Only Extra"
|
||||||
COM_COMPONENTBUILDER_CONFIG_ORIGINAL_VDM="Original (VDM)"
|
COM_COMPONENTBUILDER_CONFIG_ORIGINAL_VDM="Original (VDM)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_DESCRIPTION="<code>[YEAR]</code> <code>[MONTH]</code> <code>[DAY]</code> <code>[HOUR]</code> <code>[MINUTE]</code>"
|
COM_COMPONENTBUILDER_CONFIG_PACKAGE_NAME_PLAEHOLDERS_DESCRIPTION="<code>[YEAR]</code> <code>[MONTH]</code> <code>[DAY]</code> <code>[HOUR]</code> <code>[MINUTE]</code>"
|
||||||
@ -3579,10 +3559,6 @@ COM_COMPONENTBUILDER_CONFIG_REPEATABLE_UIKIT="Repeatable (UIkit)"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_DESCRIPTION="Text displayed in the header "Reply To:" field when replying to the site email. Usually the the person that receives the response. (leave blank for none)"
|
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_DESCRIPTION="Text displayed in the header "Reply To:" field when replying to the site email. Usually the the person that receives the response. (leave blank for none)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_HINT="Reply Name Here"
|
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_HINT="Reply Name Here"
|
||||||
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_LABEL="Reply to Name"
|
COM_COMPONENTBUILDER_CONFIG_REPLYNAME_LABEL="Reply to Name"
|
||||||
COM_COMPONENTBUILDER_CONFIG_REPOSITORY_DESCRIPTION="Should the component be moved to your local repository folder?"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_REPOSITORY_LABEL="Add to Repository Folder"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_RETURN_OPTIONS_BUILD_DESCRIPTION="Should the system return the build info/messages, or simply 1 for success and 0 for failure."
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_RETURN_OPTIONS_BUILD_LABEL="Return Options for Build"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_SENDMAIL="Sendmail"
|
COM_COMPONENTBUILDER_CONFIG_SENDMAIL="Sendmail"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SENDMAIL_DESCRIPTION="Enter the path to the sendmail program directory on your host server."
|
COM_COMPONENTBUILDER_CONFIG_SENDMAIL_DESCRIPTION="Enter the path to the sendmail program directory on your host server."
|
||||||
COM_COMPONENTBUILDER_CONFIG_SENDMAIL_HINT="/usr/sbin/sendmail"
|
COM_COMPONENTBUILDER_CONFIG_SENDMAIL_HINT="/usr/sbin/sendmail"
|
||||||
@ -3592,6 +3568,7 @@ COM_COMPONENTBUILDER_CONFIG_SET_BROWSER_STORAGE_LABEL="Browser Storage"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_SHOW="Show"
|
COM_COMPONENTBUILDER_CONFIG_SHOW="Show"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SHOW_ALL="Show All"
|
COM_COMPONENTBUILDER_CONFIG_SHOW_ALL="Show All"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SIMPLEXMLELEMENT_CLASS="SimpleXMLElement Class"
|
COM_COMPONENTBUILDER_CONFIG_SIMPLEXMLELEMENT_CLASS="SimpleXMLElement Class"
|
||||||
|
COM_COMPONENTBUILDER_CONFIG_SITE_VIEWS_AJAX_INPUT="Site Views (ajax_input)"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SMTP="SMTP"
|
COM_COMPONENTBUILDER_CONFIG_SMTP="SMTP"
|
||||||
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_DESCRIPTION="Select yes if your SMTP host requires SMTP Authentication."
|
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_DESCRIPTION="Select yes if your SMTP host requires SMTP Authentication."
|
||||||
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_LABEL="SMTP Authentication"
|
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_LABEL="SMTP Authentication"
|
||||||
@ -3622,7 +3599,6 @@ COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_REPOSITORIES_DESCRIPTION="Do you have y
|
|||||||
COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_REPOSITORIES_LABEL="Own Super Powers?"
|
COM_COMPONENTBUILDER_CONFIG_SUPER_POWERS_REPOSITORIES_LABEL="Own Super Powers?"
|
||||||
COM_COMPONENTBUILDER_CONFIG_THREED_PARTICLE_EXPLORATIONS="3D Particle Explorations"
|
COM_COMPONENTBUILDER_CONFIG_THREED_PARTICLE_EXPLORATIONS="3D Particle Explorations"
|
||||||
COM_COMPONENTBUILDER_CONFIG_TLS="TLS"
|
COM_COMPONENTBUILDER_CONFIG_TLS="TLS"
|
||||||
COM_COMPONENTBUILDER_CONFIG_TRUE="True"
|
|
||||||
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like <em>1</em> becomes <b>one</b>.<br />Alphanumeric+dot keeps the numbers unconverted unless it is at the beginning of the field name, and allows for a dot (.) to be used in the type name for namespacing."
|
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_DESCRIPTION="The default option only uses alphabetical characters and converts all numbers in field names to the English equivalent like <em>1</em> becomes <b>one</b>.<br />Alphanumeric+dot keeps the numbers unconverted unless it is at the beginning of the field name, and allows for a dot (.) to be used in the type name for namespacing."
|
||||||
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_LABEL="Field Type Name Builder<br /><small>(in compiler)</small>"
|
COM_COMPONENTBUILDER_CONFIG_TYPE_NAME_BUILDER_LABEL="Field Type Name Builder<br /><small>(in compiler)</small>"
|
||||||
COM_COMPONENTBUILDER_CONFIG_UIKIT_DESC="<b>The Parameters for the uikit are set here.</b><br />Uikit is a lightweight and modular front-end frameworkfor developing fast and powerful web interfaces. For more info visit <a href='https://getuikit.com/v2/' target='_blank'>https://getuikit.com/v2/</a>"
|
COM_COMPONENTBUILDER_CONFIG_UIKIT_DESC="<b>The Parameters for the uikit are set here.</b><br />Uikit is a lightweight and modular front-end frameworkfor developing fast and powerful web interfaces. For more info visit <a href='https://getuikit.com/v2/' target='_blank'>https://getuikit.com/v2/</a>"
|
||||||
@ -3637,6 +3613,7 @@ COM_COMPONENTBUILDER_CONFIG_VDM_PACKAGES="VDM Packages"
|
|||||||
COM_COMPONENTBUILDER_CONFIG_VIEW_FIELD_LABEL="View & Field"
|
COM_COMPONENTBUILDER_CONFIG_VIEW_FIELD_LABEL="View & Field"
|
||||||
COM_COMPONENTBUILDER_CONFIG_YES="Yes"
|
COM_COMPONENTBUILDER_CONFIG_YES="Yes"
|
||||||
COM_COMPONENTBUILDER_CONFIRMATION_STEP_BEFORE_IMPORTING="Confirmation Step Before Importing!"
|
COM_COMPONENTBUILDER_CONFIRMATION_STEP_BEFORE_IMPORTING="Confirmation Step Before Importing!"
|
||||||
|
COM_COMPONENTBUILDER_CONNECT_AND_ENGAGE_WITH_LLEWELLYN_ON_JOOMLA_SOCIAL_EMPOWERING_COMMUNITIES_ONE_POST_AT_A_TIME="Connect and Engage with Llewellyn on Joomla Social: Empowering Communities, One Post at a Time!"
|
||||||
COM_COMPONENTBUILDER_CONTEXT="Context"
|
COM_COMPONENTBUILDER_CONTEXT="Context"
|
||||||
COM_COMPONENTBUILDER_CONTRIBUTE_TO_JCB="Contribute to JCB"
|
COM_COMPONENTBUILDER_CONTRIBUTE_TO_JCB="Contribute to JCB"
|
||||||
COM_COMPONENTBUILDER_CONTRIBUTOR="Contributor"
|
COM_COMPONENTBUILDER_CONTRIBUTOR="Contributor"
|
||||||
@ -4151,9 +4128,9 @@ COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_DESCRIPTION="The end hash target
|
|||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_HINT="autogenerated md5 hash"
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_HINT="autogenerated md5 hash"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_LABEL="End Hash Target"
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_LABEL="End Hash Target"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_MESSAGE="Error! Please add some text here."
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_MESSAGE="Error! Please add some text here."
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_DESCRIPTION="The start hash target to help insert the code at the correct place, if the line position change. This hash is the md5 of a few lines above the custom code"
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_DESCRIPTION="The end hash target to help insert the code until the correct place, if the line position change. This hash is the md5 of a few lines below the custom code"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_HINT="autogenerated md5 hash"
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_HINT="autogenerated md5 hash"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_LABEL="Start Hash Target"
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_LABEL="End Hash Target"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_MESSAGE="Error! Please add some text here."
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_MESSAGE="Error! Please add some text here."
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASH_AUTOMATION="Hash (automation)"
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HASH_AUTOMATION="Hash (automation)"
|
||||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HTML="HTML"
|
COM_COMPONENTBUILDER_CUSTOM_CODE_HTML="HTML"
|
||||||
@ -4246,6 +4223,7 @@ COM_COMPONENTBUILDER_DISPLAY_SWITCH_FOR_DYNAMIC_PLACEMENT_IN_RELATION_TO_THE_USE
|
|||||||
COM_COMPONENTBUILDER_DIVERGED="Diverged"
|
COM_COMPONENTBUILDER_DIVERGED="Diverged"
|
||||||
COM_COMPONENTBUILDER_DIVERGED_MEANS_YOUR_BLOCAL_SNIPPETB_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_HAS_A_BDIVERGEDB_FROM_THE_COMMUNITY_SNIPPET_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_IN_THAT_IT_DOES_NOT_HAVE_THE_SAME_BCREATIONB_OR_BMODIFIED_DATEB="Diverged means your <b>local snippet</b> (with the same name, library and type) has a <b>diverged</b> from the community snippet (with the same name, library and type) in that it does not have the same <b>creation</b> or <b>modified date</b>."
|
COM_COMPONENTBUILDER_DIVERGED_MEANS_YOUR_BLOCAL_SNIPPETB_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_HAS_A_BDIVERGEDB_FROM_THE_COMMUNITY_SNIPPET_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_IN_THAT_IT_DOES_NOT_HAVE_THE_SAME_BCREATIONB_OR_BMODIFIED_DATEB="Diverged means your <b>local snippet</b> (with the same name, library and type) has a <b>diverged</b> from the community snippet (with the same name, library and type) in that it does not have the same <b>creation</b> or <b>modified date</b>."
|
||||||
COM_COMPONENTBUILDER_DOES_THIS_PACKAGE_REQUIRE_A_KEY_TO_INSTALL="Does this package require a key to install."
|
COM_COMPONENTBUILDER_DOES_THIS_PACKAGE_REQUIRE_A_KEY_TO_INSTALL="Does this package require a key to install."
|
||||||
|
COM_COMPONENTBUILDER_DONATE_TOWARDS_JCB_HELP_LLEWELLYN_FINANCIALLY_SO_HE_CAN_CONTINUE_DEVELOPING_THIS_GREAT_TOOL="Donate towards JCB: Help Llewellyn financially so he can continue developing this great tool!"
|
||||||
COM_COMPONENTBUILDER_DONATE_TO_JCB="Donate to JCB"
|
COM_COMPONENTBUILDER_DONATE_TO_JCB="Donate to JCB"
|
||||||
COM_COMPONENTBUILDER_DONATIONS="Donations!"
|
COM_COMPONENTBUILDER_DONATIONS="Donations!"
|
||||||
COM_COMPONENTBUILDER_DOWNLOAD_UPDATE="Download Update"
|
COM_COMPONENTBUILDER_DOWNLOAD_UPDATE="Download Update"
|
||||||
@ -4256,6 +4234,7 @@ COM_COMPONENTBUILDER_DTEMAILDTDDSDD="<dt>Email</dt><dd>%s</dd>"
|
|||||||
COM_COMPONENTBUILDER_DTLICENSEDTDDSDD="<dt>License</dt><dd>%s</dd>"
|
COM_COMPONENTBUILDER_DTLICENSEDTDDSDD="<dt>License</dt><dd>%s</dd>"
|
||||||
COM_COMPONENTBUILDER_DTOWNERDTDDSDD="<dt>Owner</dt><dd>%s</dd>"
|
COM_COMPONENTBUILDER_DTOWNERDTDDSDD="<dt>Owner</dt><dd>%s</dd>"
|
||||||
COM_COMPONENTBUILDER_DTWEBSITEDTDDSDD="<dt>Website</dt><dd>%s</dd>"
|
COM_COMPONENTBUILDER_DTWEBSITEDTDDSDD="<dt>Website</dt><dd>%s</dd>"
|
||||||
|
COM_COMPONENTBUILDER_DURING_THE_INITIAL_COMPILATION_OF_ANY_COMPONENT_THE_PROCESS_MAY_TAKE_ADDITIONAL_TIME_AS_WE_RETRIEVE_AND_CONFIGURE_THE_ASSOCIATED_SUPERPOWERS_="During the initial compilation of any component, the process may take additional time as we retrieve and configure the associated super-powers.."
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_BUTTON_ERROR="Dynamic Button Error"
|
COM_COMPONENTBUILDER_DYNAMIC_BUTTON_ERROR="Dynamic Button Error"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET="Dynamic Get"
|
COM_COMPONENTBUILDER_DYNAMIC_GET="Dynamic Get"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GETS="Dynamic Gets"
|
COM_COMPONENTBUILDER_DYNAMIC_GETS="Dynamic Gets"
|
||||||
@ -4495,8 +4474,6 @@ COM_COMPONENTBUILDER_DYNAMIC_GET_REPEATABLE_VALUE="Repeatable Value"
|
|||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_ROW_TYPE_DESCRIPTION="Single row or Multiple rows"
|
COM_COMPONENTBUILDER_DYNAMIC_GET_ROW_TYPE_DESCRIPTION="Single row or Multiple rows"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_ROW_TYPE_LABEL="Return Row Type"
|
COM_COMPONENTBUILDER_DYNAMIC_GET_ROW_TYPE_LABEL="Return Row Type"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_RR="rr"
|
COM_COMPONENTBUILDER_DYNAMIC_GET_RR="rr"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS="Dynamic Get Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_S="s"
|
COM_COMPONENTBUILDER_DYNAMIC_GET_S="s"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Dynamic Get to customise the alias."
|
COM_COMPONENTBUILDER_DYNAMIC_GET_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Dynamic Get to customise the alias."
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECTION_DESCRIPTION="Fields to be selected from table."
|
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECTION_DESCRIPTION="Fields to be selected from table."
|
||||||
@ -4593,7 +4570,7 @@ COM_COMPONENTBUILDER_EVERY_LANGUAGE="Every language"
|
|||||||
COM_COMPONENTBUILDER_EXACT_LENGTH_ONLY_FOUR_TEXT_FIELD="Exact Length (only 4 text_field)"
|
COM_COMPONENTBUILDER_EXACT_LENGTH_ONLY_FOUR_TEXT_FIELD="Exact Length (only 4 text_field)"
|
||||||
COM_COMPONENTBUILDER_EXAMPLE="Example"
|
COM_COMPONENTBUILDER_EXAMPLE="Example"
|
||||||
COM_COMPONENTBUILDER_EXIT_TRASH="Exit trash"
|
COM_COMPONENTBUILDER_EXIT_TRASH="Exit trash"
|
||||||
COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB="Expansion failed, please check your settings in the global options of JCB under the Development Method tab!"
|
COM_COMPONENTBUILDER_EXPLORE_LEARN_AND_CREATE_WITH_LLEWELLYN_ON_YOUTUBE_YOUR_GATEWAY_TO_INSPIRATION="Explore, Learn, and Create with Llewellyn on YouTube: Your Gateway to Inspiration!"
|
||||||
COM_COMPONENTBUILDER_EXPORTIMPORT_DATA="Export/Import Data"
|
COM_COMPONENTBUILDER_EXPORTIMPORT_DATA="Export/Import Data"
|
||||||
COM_COMPONENTBUILDER_EXPORT_COMPLETED="Export Completed!"
|
COM_COMPONENTBUILDER_EXPORT_COMPLETED="Export Completed!"
|
||||||
COM_COMPONENTBUILDER_EXPORT_DATA="Export Data"
|
COM_COMPONENTBUILDER_EXPORT_DATA="Export Data"
|
||||||
@ -4761,6 +4738,8 @@ COM_COMPONENTBUILDER_FIELDTYPE_HAS_DEFAULTS_DESCRIPTION="set the database defaul
|
|||||||
COM_COMPONENTBUILDER_FIELDTYPE_HAS_DEFAULTS_LABEL="Set Database Defaults"
|
COM_COMPONENTBUILDER_FIELDTYPE_HAS_DEFAULTS_LABEL="Set Database Defaults"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_ID="Id"
|
COM_COMPONENTBUILDER_FIELDTYPE_ID="Id"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_INDEXES_LABEL="Indexes Type"
|
COM_COMPONENTBUILDER_FIELDTYPE_INDEXES_LABEL="Indexes Type"
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS="Fieldtype Init Button Access"
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_INT="INT"
|
COM_COMPONENTBUILDER_FIELDTYPE_INT="INT"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_JSON="JSON"
|
COM_COMPONENTBUILDER_FIELDTYPE_JSON="JSON"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_KEY="KEY"
|
COM_COMPONENTBUILDER_FIELDTYPE_KEY="KEY"
|
||||||
@ -4802,6 +4781,10 @@ COM_COMPONENTBUILDER_FIELDTYPE_PERMISSION="Permissions"
|
|||||||
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_DESCRIPTION="Options for this field"
|
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_DESCRIPTION="Options for this field"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_LABEL="Properties"
|
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_LABEL="Properties"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_PUBLISHING="Publishing"
|
COM_COMPONENTBUILDER_FIELDTYPE_PUBLISHING="Publishing"
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS="Fieldtype Push Button Access"
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS="Fieldtype Reset Button Access"
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Fieldtype to customise the alias."
|
COM_COMPONENTBUILDER_FIELDTYPE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Fieldtype to customise the alias."
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_SELECT_AN_OPTION="Select an option"
|
COM_COMPONENTBUILDER_FIELDTYPE_SELECT_AN_OPTION="Select an option"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPE_SEVEN="7"
|
COM_COMPONENTBUILDER_FIELDTYPE_SEVEN="7"
|
||||||
@ -4946,8 +4929,6 @@ COM_COMPONENTBUILDER_FIELD_ORDERING_LABEL="Ordering"
|
|||||||
COM_COMPONENTBUILDER_FIELD_OTHER="Other"
|
COM_COMPONENTBUILDER_FIELD_OTHER="Other"
|
||||||
COM_COMPONENTBUILDER_FIELD_PERMISSION="Permissions"
|
COM_COMPONENTBUILDER_FIELD_PERMISSION="Permissions"
|
||||||
COM_COMPONENTBUILDER_FIELD_PUBLISHING="Publishing"
|
COM_COMPONENTBUILDER_FIELD_PUBLISHING="Publishing"
|
||||||
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS="Field Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_FIELD_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Field to customise the alias."
|
COM_COMPONENTBUILDER_FIELD_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Field to customise the alias."
|
||||||
COM_COMPONENTBUILDER_FIELD_SCRIPTS="Scripts"
|
COM_COMPONENTBUILDER_FIELD_SCRIPTS="Scripts"
|
||||||
COM_COMPONENTBUILDER_FIELD_SELECT_AN_OPTION="Select an option"
|
COM_COMPONENTBUILDER_FIELD_SELECT_AN_OPTION="Select an option"
|
||||||
@ -5539,8 +5520,6 @@ COM_COMPONENTBUILDER_JCB_PACKAGE_INFO_PATH_DOES_NOT_WORK_WE_ADVICE_YOU_BNOT_TO_C
|
|||||||
COM_COMPONENTBUILDER_JCB_PROMOTES_EFFICIENCY="JCB Promotes Efficiency"
|
COM_COMPONENTBUILDER_JCB_PROMOTES_EFFICIENCY="JCB Promotes Efficiency"
|
||||||
COM_COMPONENTBUILDER_JCB_PROMOTES_GOODWILL="JCB Promotes Goodwill"
|
COM_COMPONENTBUILDER_JCB_PROMOTES_GOODWILL="JCB Promotes Goodwill"
|
||||||
COM_COMPONENTBUILDER_JCB_PROVIDES_A_BETTER_EXPERIENCE="JCB Provides a Better Experience"
|
COM_COMPONENTBUILDER_JCB_PROVIDES_A_BETTER_EXPERIENCE="JCB Provides a Better Experience"
|
||||||
COM_COMPONENTBUILDER_JCB_PRO_BOARD="JCB Pro board"
|
|
||||||
COM_COMPONENTBUILDER_JCB_PRO_NOTICE_BOARD="JCB Pro Notice Board"
|
|
||||||
COM_COMPONENTBUILDER_JCB_REDUCES_DEVELOPMENT_COSTS="JCB Reduces Development Costs"
|
COM_COMPONENTBUILDER_JCB_REDUCES_DEVELOPMENT_COSTS="JCB Reduces Development Costs"
|
||||||
COM_COMPONENTBUILDER_JCB_SAVES_TIME="JCB Saves Time"
|
COM_COMPONENTBUILDER_JCB_SAVES_TIME="JCB Saves Time"
|
||||||
COM_COMPONENTBUILDER_JCB_STREAMLINES_DEVELOPMENT="JCB Streamlines Development"
|
COM_COMPONENTBUILDER_JCB_STREAMLINES_DEVELOPMENT="JCB Streamlines Development"
|
||||||
@ -5558,9 +5537,12 @@ COM_COMPONENTBUILDER_JCB_YOUR_SUPPORT_MATTERS_MOST="JCB: Your Support Matters Mo
|
|||||||
COM_COMPONENTBUILDER_JOIN_FIELDS="Join Fields"
|
COM_COMPONENTBUILDER_JOIN_FIELDS="Join Fields"
|
||||||
COM_COMPONENTBUILDER_JOIN_JCBS_COMMUNITY="Join JCB's Community"
|
COM_COMPONENTBUILDER_JOIN_JCBS_COMMUNITY="Join JCB's Community"
|
||||||
COM_COMPONENTBUILDER_JOIN_JCBS_JOURNEY="Join JCB's Journey"
|
COM_COMPONENTBUILDER_JOIN_JCBS_JOURNEY="Join JCB's Journey"
|
||||||
|
COM_COMPONENTBUILDER_JOIN_JCBS_LEAD_DEVELOPER_ON_JOOMLA_SOCIAL_A_MASTODON_INSTANCE="Join JCB's lead developer on Joomla! social a Mastodon instance."
|
||||||
COM_COMPONENTBUILDER_JOIN_JCBS_MISSION="Join JCB's Mission"
|
COM_COMPONENTBUILDER_JOIN_JCBS_MISSION="Join JCB's Mission"
|
||||||
COM_COMPONENTBUILDER_JOIN_JCBS_SUCCESS="Join JCB's Success"
|
COM_COMPONENTBUILDER_JOIN_JCBS_SUCCESS="Join JCB's Success"
|
||||||
COM_COMPONENTBUILDER_JOIN_JCBS_VISION="Join JCB's Vision"
|
COM_COMPONENTBUILDER_JOIN_JCBS_VISION="Join JCB's Vision"
|
||||||
|
COM_COMPONENTBUILDER_JOIN_LLEWELLYN_ON_THE_JOOMLA_VOLUNTEER_PORTAL_SHAPING_THE_FUTURE_TOGETHER="Join Llewellyn on the Joomla Volunteer Portal: Shaping the Future Together!"
|
||||||
|
COM_COMPONENTBUILDER_JOIN_THE_CONVERSATION_WITH_LLEWELLYN_ON_X_WHERE_IDEAS_TAKE_FLIGHT="Join the Conversation with Llewellyn on X: Where Ideas Take Flight!"
|
||||||
COM_COMPONENTBUILDER_JOIN_TYPE="Join Type"
|
COM_COMPONENTBUILDER_JOIN_TYPE="Join Type"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT="Joomla Component"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT="Joomla Component"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS="Joomla Components"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS="Joomla Components"
|
||||||
@ -5767,6 +5749,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_DESCRIPTION="Globally Unique Identifi
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_HINT="Auto Generated"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_HINT="Auto Generated"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_LABEL="GUID"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_LABEL="GUID"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ID="Id"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ID="Id"
|
||||||
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE="Joomla Component Image"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION="The component image (product box) for the dashboard and install page, must be 300px X 300px."
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION="The component image (product box) for the dashboard and install page, must be 300px X 300px."
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL="Component Image"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL="Component Image"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
|
||||||
@ -5893,9 +5876,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PUBLISHING="Publishing"
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README="Readme"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README="Readme"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL="README.md"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL="README.md"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_DESCRIPTION="Should we remove all line breaks ("\r", "\n") from all language strings in this component."
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_DESCRIPTION="Should we remove all line breaks ("\r", "\n") from all language strings in this component."
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL="Remove line breaks<br /><small>from language strings</small>"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL="Remove line breaks<br /><small>from language strings<br>This switch will be removed since it must always be true for J4+.</small>"
|
||||||
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_COMPONENT_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_LABEL="Sales Server"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_LABEL="Sales Server"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Component to customise the alias."
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Component to customise the alias."
|
||||||
@ -6305,8 +6286,6 @@ COM_COMPONENTBUILDER_JOOMLA_MODULE_PHP_SCRIPT_CONSTRUCT_LABEL="PHP Script Constr
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_PUBLISHING="Publishing"
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_PUBLISHING="Publishing"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_README="Readme"
|
COM_COMPONENTBUILDER_JOOMLA_MODULE_README="Readme"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULE_README_LABEL="README.md"
|
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_DESCRIPTION="Select your sales server for this component"
|
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_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_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Module to customise the alias."
|
||||||
@ -6766,8 +6745,6 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTY_SELECTION_LABEL="Property Selection"
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PUBLISHING="Publishing"
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PUBLISHING="Publishing"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_README="Readme"
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_README="Readme"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_README_LABEL="README.md"
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_README_LABEL="README.md"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_RUN_EXPANSION_BUTTON_ACCESS="Joomla Plugin Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_LABEL="Sales Server"
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SALES_SERVER_LABEL="Sales Server"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Plugin to customise the alias."
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Plugin to customise the alias."
|
||||||
@ -7520,7 +7497,7 @@ COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_DESCRIPTION="There is no be
|
|||||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_LABEL="No Behaviour"
|
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_LABEL="No Behaviour"
|
||||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_DESCRIPTION="There is no behaviour set for this library. This means JCB will not add any files unless you custom code it in somewhere."
|
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_DESCRIPTION="There is no behaviour set for this library. This means JCB will not add any files unless you custom code it in somewhere."
|
||||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_LABEL="No Behaviour"
|
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_LABEL="No Behaviour"
|
||||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_DESCRIPTION="We are working on this feature it is not yet ready, but soon enough you will be able to build real Joomla library integration here."
|
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_DESCRIPTION="To effectively integrate a PHP library into your component, leverage the [Powers] Area within JCB. This feature empowers you to seamlessly incorporate Composer packages as well as standard PHP class structures into your component, ensuring a robust and maintainable solution."
|
||||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_LABEL="Set Behaviour"
|
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_LABEL="Set Behaviour"
|
||||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_DESCRIPTION="All the library files linked to this library will always be added to a view if linked to the view."
|
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_DESCRIPTION="All the library files linked to this library will always be added to a view if linked to the view."
|
||||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_LABEL="Set Behaviour"
|
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_LABEL="Set Behaviour"
|
||||||
@ -7560,6 +7537,8 @@ COM_COMPONENTBUILDER_LINK_LOCAL_DYNAMIC="Link & Local (dynamic)"
|
|||||||
COM_COMPONENTBUILDER_LINK_TO_THE_CONTRIBUTOR="Link to the contributor"
|
COM_COMPONENTBUILDER_LINK_TO_THE_CONTRIBUTOR="Link to the contributor"
|
||||||
COM_COMPONENTBUILDER_LIST_FIELD="List Field"
|
COM_COMPONENTBUILDER_LIST_FIELD="List Field"
|
||||||
COM_COMPONENTBUILDER_LIST_VIEW="List View"
|
COM_COMPONENTBUILDER_LIST_VIEW="List View"
|
||||||
|
COM_COMPONENTBUILDER_LLEWELLYNS_JOOMLA_SOCIAL_FEED="Llewellyn's Joomla! Social Feed"
|
||||||
|
COM_COMPONENTBUILDER_LLEWELLYN_ON_DOCKER_CONTAINERIZE_YOUR_CREATIVITY="Llewellyn on Docker: Containerize Your Creativity!"
|
||||||
COM_COMPONENTBUILDER_LOADING="loading"
|
COM_COMPONENTBUILDER_LOADING="loading"
|
||||||
COM_COMPONENTBUILDER_LOADING_THE_PRIVATE_KEY_FILE_FAILED="Loading the private key file failed"
|
COM_COMPONENTBUILDER_LOADING_THE_PRIVATE_KEY_FILE_FAILED="Loading the private key file failed"
|
||||||
COM_COMPONENTBUILDER_LOADING_THE_PRIVATE_KEY_TEXT_FAILED="Loading the private key text failed"
|
COM_COMPONENTBUILDER_LOADING_THE_PRIVATE_KEY_TEXT_FAILED="Loading the private key text failed"
|
||||||
@ -7642,7 +7621,6 @@ COM_COMPONENTBUILDER_ONLY_ONE_COMPONENT_CAN_BE_CLONED_AT_A_TIME_PLEASE_SELECT_ON
|
|||||||
COM_COMPONENTBUILDER_ONLY_SZIP_FILE_WAS_REMOVED_THE_FROM_TMP_FOLDER_DURING_INSTALLATION="Only (%s.zip) file was removed the from tmp folder during installation!"
|
COM_COMPONENTBUILDER_ONLY_SZIP_FILE_WAS_REMOVED_THE_FROM_TMP_FOLDER_DURING_INSTALLATION="Only (%s.zip) file was removed the from tmp folder during installation!"
|
||||||
COM_COMPONENTBUILDER_ONLY_USE_THE_BNONE_DBB_OPTION_IF_YOU_ARE_PLANNING_ON_TARGETING_THIS_FIELD_WITH_JAVASCRIPTCUSTOM_PHP_TO_MOVE_ITS_VALUE_INTO_ANOTHER_FIELD_THAT_DOES_GET_SAVED_TO_THE_DATABASE="Only use the <b>None DB</b> option if you are planning on targeting this field with JavaScript/Custom PHP to move its value into another field that does get saved to the database."
|
COM_COMPONENTBUILDER_ONLY_USE_THE_BNONE_DBB_OPTION_IF_YOU_ARE_PLANNING_ON_TARGETING_THIS_FIELD_WITH_JAVASCRIPTCUSTOM_PHP_TO_MOVE_ITS_VALUE_INTO_ANOTHER_FIELD_THAT_DOES_GET_SAVED_TO_THE_DATABASE="Only use the <b>None DB</b> option if you are planning on targeting this field with JavaScript/Custom PHP to move its value into another field that does get saved to the database."
|
||||||
COM_COMPONENTBUILDER_OPEN_LIBRARY_SNIPPETS="Open Library Snippets"
|
COM_COMPONENTBUILDER_OPEN_LIBRARY_SNIPPETS="Open Library Snippets"
|
||||||
COM_COMPONENTBUILDER_OPTIONS="Options"
|
|
||||||
COM_COMPONENTBUILDER_ORDER_BEFORE="Order Before"
|
COM_COMPONENTBUILDER_ORDER_BEFORE="Order Before"
|
||||||
COM_COMPONENTBUILDER_ORDER_IN_EDIT="Order in Edit"
|
COM_COMPONENTBUILDER_ORDER_IN_EDIT="Order in Edit"
|
||||||
COM_COMPONENTBUILDER_ORDER_IN_LIST_VIEWS="Order in list views"
|
COM_COMPONENTBUILDER_ORDER_IN_LIST_VIEWS="Order in list views"
|
||||||
@ -7661,6 +7639,7 @@ COM_COMPONENTBUILDER_PATH_TO_THE_ZIPPED_PACKAGE_IS_CODESCODE_BR_S_S="Path to the
|
|||||||
COM_COMPONENTBUILDER_PERMISSIONS="Permissions"
|
COM_COMPONENTBUILDER_PERMISSIONS="Permissions"
|
||||||
COM_COMPONENTBUILDER_PERMISSION_DENIED="Permission Denied!"
|
COM_COMPONENTBUILDER_PERMISSION_DENIED="Permission Denied!"
|
||||||
COM_COMPONENTBUILDER_PFILE_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>File at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
COM_COMPONENTBUILDER_PFILE_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>File at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||||
|
COM_COMPONENTBUILDER_PJOOMLA_FIELD_TYPEB_REPOSITORY_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>Joomla Field Type</b> repository at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||||
COM_COMPONENTBUILDER_PJOOMLA_POWERB_REPOSITORY_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>Joomla Power</b> repository at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
COM_COMPONENTBUILDER_PJOOMLA_POWERB_REPOSITORY_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>Joomla Power</b> repository at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||||
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_NOT_FOUNDP="<p>Joomla Power <b>guid:%s</b> not found!</p>"
|
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_NOT_FOUNDP="<p>Joomla Power <b>guid:%s</b> not found!</p>"
|
||||||
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_WAS_FOUND_BUT_MISSING_A_NAMESPACE_VALUE_FOR_JOOMLA_SP="<p>Joomla Power <b>guid:%s</b> was found, but missing a namespace value for Joomla %s!</p>"
|
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_WAS_FOUND_BUT_MISSING_A_NAMESPACE_VALUE_FOR_JOOMLA_SP="<p>Joomla Power <b>guid:%s</b> was found, but missing a namespace value for Joomla %s!</p>"
|
||||||
@ -7913,10 +7892,10 @@ COM_COMPONENTBUILDER_POWER_PROPERTY_LABEL="Properties"
|
|||||||
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_DESCRIPTION="Select properties you want to use in your power."
|
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_DESCRIPTION="Select properties you want to use in your power."
|
||||||
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_LABEL="Property Selection"
|
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_LABEL="Property Selection"
|
||||||
COM_COMPONENTBUILDER_POWER_PUBLISHING="Publishing"
|
COM_COMPONENTBUILDER_POWER_PUBLISHING="Publishing"
|
||||||
|
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS="Power Push Button Access"
|
||||||
|
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
||||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||||
COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS="Power Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_POWER_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Power to customise the alias."
|
COM_COMPONENTBUILDER_POWER_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Power to customise the alias."
|
||||||
COM_COMPONENTBUILDER_POWER_STATUS="Status"
|
COM_COMPONENTBUILDER_POWER_STATUS="Status"
|
||||||
COM_COMPONENTBUILDER_POWER_SUPER_POWER="Super Power"
|
COM_COMPONENTBUILDER_POWER_SUPER_POWER="Super Power"
|
||||||
@ -7954,6 +7933,7 @@ COM_COMPONENTBUILDER_PUSH_FAILED="Push Failed!"
|
|||||||
COM_COMPONENTBUILDER_README="Readme"
|
COM_COMPONENTBUILDER_README="Readme"
|
||||||
COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT="Ready to compile a component"
|
COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT="Ready to compile a component"
|
||||||
COM_COMPONENTBUILDER_REFRESH="Refresh"
|
COM_COMPONENTBUILDER_REFRESH="Refresh"
|
||||||
|
COM_COMPONENTBUILDER_REFRESH_FEED="Refresh Feed"
|
||||||
COM_COMPONENTBUILDER_REGEX_SEARCH="Regex Search"
|
COM_COMPONENTBUILDER_REGEX_SEARCH="Regex Search"
|
||||||
COM_COMPONENTBUILDER_REMOVE="Remove"
|
COM_COMPONENTBUILDER_REMOVE="Remove"
|
||||||
COM_COMPONENTBUILDER_REMOVING_ALL_ZIP_PACKAGES_FROM_THE_TEMPORARY_FOLDER_OF_THE_JOOMLA_INSTALL="Removing all zip packages from the temporary folder of the Joomla install"
|
COM_COMPONENTBUILDER_REMOVING_ALL_ZIP_PACKAGES_FROM_THE_TEMPORARY_FOLDER_OF_THE_JOOMLA_INSTALL="Removing all zip packages from the temporary folder of the Joomla install"
|
||||||
@ -8011,6 +7991,8 @@ COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU_DESC="Allows the users in this group t
|
|||||||
COM_COMPONENTBUILDER_REPOSITORY="Repository"
|
COM_COMPONENTBUILDER_REPOSITORY="Repository"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION="Set the access options to this repository"
|
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION="Set the access options to this repository"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL="Access"
|
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL="Access"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_DESCRIPTION="Set dnamic placeholders for this component."
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_LABEL="Placeholders"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_DESCRIPTION="Enter Base URL"
|
COM_COMPONENTBUILDER_REPOSITORY_BASE_DESCRIPTION="Enter Base URL"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_HINT="https://git.vdm.dev"
|
COM_COMPONENTBUILDER_REPOSITORY_BASE_HINT="https://git.vdm.dev"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL="Base URL"
|
COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL="Base URL"
|
||||||
@ -8029,6 +8011,7 @@ COM_COMPONENTBUILDER_REPOSITORY_GUID_DESCRIPTION="Globally Unique Identifier"
|
|||||||
COM_COMPONENTBUILDER_REPOSITORY_GUID_HINT="Auto Generated"
|
COM_COMPONENTBUILDER_REPOSITORY_GUID_HINT="Auto Generated"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_GUID_LABEL="GUID"
|
COM_COMPONENTBUILDER_REPOSITORY_GUID_LABEL="GUID"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_ID="Id"
|
COM_COMPONENTBUILDER_REPOSITORY_ID="Id"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_FIELD_TYPES="Joomla Field Types"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER="Joomla Power"
|
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER="Joomla Power"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_DESC="The last user that modified this Repository."
|
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_DESC="The last user that modified this Repository."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_LABEL="Modified By"
|
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_LABEL="Modified By"
|
||||||
@ -8042,6 +8025,9 @@ COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL="Organisation"
|
|||||||
COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_MESSAGE="Error! Please add organisation here."
|
COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_MESSAGE="Error! Please add organisation here."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_OVERRIDE="Override"
|
COM_COMPONENTBUILDER_REPOSITORY_OVERRIDE="Override"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_PERMISSION="Permissions"
|
COM_COMPONENTBUILDER_REPOSITORY_PERMISSION="Permissions"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDERS="Placeholders"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_DESCRIPTION="<p>When powers are connected to components, we utilize global placeholders. These placeholders are linked to the specific component, allowing for dynamic updates to any placeholders found within the powers. However, when we directly <b>push</b> powers from the powers area to this repository, we require <b>placeholders</b> that are specific to this repository.</p><p>You can add these repository-specific placeholders here. Please note that these placeholders are only utilized during direct pushes from the powers area and are not considered during the compilation of any component. Although you can use the same placeholders to ensure consistent outcomes, they technically have no direct relationship with the components.</p>"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_LABEL="The Repository Placeholders"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_PUBLISHING="Publishing"
|
COM_COMPONENTBUILDER_REPOSITORY_PUBLISHING="Publishing"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_DESCRIPTION="The read branch to use in the API calls."
|
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_DESCRIPTION="The read branch to use in the API calls."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_HINT="[master]"
|
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_HINT="[master]"
|
||||||
@ -8058,7 +8044,9 @@ COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_HINT="The System Name Here"
|
|||||||
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_LABEL="System Name"
|
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_LABEL="System Name"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_MESSAGE="Error! Please add some text here."
|
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_MESSAGE="Error! Please add some text here."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_DESCRIPTION="The target content this repository holds."
|
COM_COMPONENTBUILDER_REPOSITORY_TARGET_DESCRIPTION="The target content this repository holds."
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_TARGET_HINT="coral"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL="Target Content"
|
COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL="Target Content"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_TARGET_MESSAGE="Error! That target placeholder text already exist. Please add an unique placeholder target."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_DESCRIPTION="This token is used to access the api."
|
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_DESCRIPTION="This token is used to access the api."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_HINT="Access Tokens"
|
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_HINT="Access Tokens"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_LABEL="Access Token"
|
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_LABEL="Access Token"
|
||||||
@ -8068,6 +8056,10 @@ COM_COMPONENTBUILDER_REPOSITORY_USERNAME_DESCRIPTION="The username to use in the
|
|||||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_HINT="Username"
|
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_HINT="Username"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_LABEL="Username"
|
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_LABEL="Username"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_MESSAGE="Error! Please add username here."
|
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_MESSAGE="Error! Please add username here."
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_VALUE_DESCRIPTION="Set the text you would like to set as the replacement value for the targeted placeholder."
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_VALUE_HINT="membersmanager"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_VALUE_LABEL="Set String Value"
|
||||||
|
COM_COMPONENTBUILDER_REPOSITORY_VALUE_MESSAGE="Error! Please add some set target value here."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_VERSION_DESC="A count of the number of times this Repository has been revised."
|
COM_COMPONENTBUILDER_REPOSITORY_VERSION_DESC="A count of the number of times this Repository has been revised."
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_VERSION_LABEL="Version"
|
COM_COMPONENTBUILDER_REPOSITORY_VERSION_LABEL="Version"
|
||||||
COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_DESCRIPTION="The write branch to use in the API calls. This can be the same as the read branch."
|
COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_DESCRIPTION="The write branch to use in the API calls. This can be the same as the read branch."
|
||||||
@ -8927,6 +8919,7 @@ COM_COMPONENTBUILDER_SUBMENU_SNIPPETS="Snippets"
|
|||||||
COM_COMPONENTBUILDER_SUBMENU_TEMPLATES="Templates"
|
COM_COMPONENTBUILDER_SUBMENU_TEMPLATES="Templates"
|
||||||
COM_COMPONENTBUILDER_SUBMENU_VALIDATION_RULES="Validation Rules"
|
COM_COMPONENTBUILDER_SUBMENU_VALIDATION_RULES="Validation Rules"
|
||||||
COM_COMPONENTBUILDER_SUCCESS="Success"
|
COM_COMPONENTBUILDER_SUCCESS="Success"
|
||||||
|
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_FIELD_TYPES="Successfully Initialized all Remote Joomla Field Types"
|
||||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_POWERS="Successfully Initialized all Remote Joomla Powers"
|
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_POWERS="Successfully Initialized all Remote Joomla Powers"
|
||||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS="Successfully Initialized all Remote Powers"
|
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS="Successfully Initialized all Remote Powers"
|
||||||
COM_COMPONENTBUILDER_SUCCESS_THE_SNIPPET_WAS_SAVED="Success! The snippet was saved."
|
COM_COMPONENTBUILDER_SUCCESS_THE_SNIPPET_WAS_SAVED="Success! The snippet was saved."
|
||||||
@ -9075,11 +9068,14 @@ COM_COMPONENTBUILDER_THERE_WAS_AN_ERROR_GETTING_THE_PACKAGE_INFO="There was an e
|
|||||||
COM_COMPONENTBUILDER_THERE_WAS_A_PROBLEM_BNO_VIEW_OR_ID_FOUND_IN_SESSION_OR_VIEW_NOT_ALLOWED_TO_ACCESS_AREAB_WE_COULD_NOT_LOAD_ANY_LINKED_TO_VALUES_PLEASE_INFORM_YOUR_SYSTEM_ADMINISTRATOR="There was a problem, <b>no view or id found in session or view not allowed to access area</b>, we could not load any linked to values. Please inform your system administrator!"
|
COM_COMPONENTBUILDER_THERE_WAS_A_PROBLEM_BNO_VIEW_OR_ID_FOUND_IN_SESSION_OR_VIEW_NOT_ALLOWED_TO_ACCESS_AREAB_WE_COULD_NOT_LOAD_ANY_LINKED_TO_VALUES_PLEASE_INFORM_YOUR_SYSTEM_ADMINISTRATOR="There was a problem, <b>no view or id found in session or view not allowed to access area</b>, we could not load any linked to values. Please inform your system administrator!"
|
||||||
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free."
|
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free."
|
||||||
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE_A_S_GET_A_KEY_TODAYA="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free. <a %s >Get a key today!</a>."
|
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE_A_S_GET_A_KEY_TODAYA="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free. <a %s >Get a key today!</a>."
|
||||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla powers have successfully been pushed."
|
COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla Field Types have successfully been pushed."
|
||||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla powers have successfully been reset."
|
COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla Field Types have successfully been reset."
|
||||||
|
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla Powers have successfully been pushed."
|
||||||
|
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla Powers have successfully been reset."
|
||||||
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_NOT_AVAILABLE_TO_THE_FIELD_IF_BNONE_DBB_OPTION_IS_SELECTED="These options are not available to the field if <b>None DB</b> option is selected."
|
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_NOT_AVAILABLE_TO_THE_FIELD_IF_BNONE_DBB_OPTION_IS_SELECTED="These options are not available to the field if <b>None DB</b> option is selected."
|
||||||
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_ONLY_AVAILABLE_TO_THE_FIELD_IF_BSHOW_IN_LIST_VIEWB_OPTION_IS_SELECTED="These options are only available to the field if <b>Show in list view</b> option is selected."
|
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_ONLY_AVAILABLE_TO_THE_FIELD_IF_BSHOW_IN_LIST_VIEWB_OPTION_IS_SELECTED="These options are only available to the field if <b>Show in list view</b> option is selected."
|
||||||
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These powers have successfully been reset."
|
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Powers have successfully been pushed."
|
||||||
|
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Powers have successfully been reset."
|
||||||
COM_COMPONENTBUILDER_THE_ADMIN_CUSTOM_TABS="The admin custom tabs"
|
COM_COMPONENTBUILDER_THE_ADMIN_CUSTOM_TABS="The admin custom tabs"
|
||||||
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS="The admin fields"
|
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS="The admin fields"
|
||||||
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_CONDITIONS="The admin fields conditions"
|
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_CONDITIONS="The admin fields conditions"
|
||||||
@ -9124,15 +9120,19 @@ COM_COMPONENTBUILDER_THE_FILE_PATH_BSB_DOES_NOT_EXIST_AND_WAS_NOT_ADDED="The fil
|
|||||||
COM_COMPONENTBUILDER_THE_FOLDER_PATH_BSB_DOES_NOT_EXIST_AND_WAS_NOT_ADDED="The folder path: <b>%s</b> does not exist, and was not added!"
|
COM_COMPONENTBUILDER_THE_FOLDER_PATH_BSB_DOES_NOT_EXIST_AND_WAS_NOT_ADDED="The folder path: <b>%s</b> does not exist, and was not added!"
|
||||||
COM_COMPONENTBUILDER_THE_FTP_CONNECTION_FOR_BSB_COULD_NOT_BE_MADE_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP connection for <b>%s</b> could not be made. Please check your signature details!"
|
COM_COMPONENTBUILDER_THE_FTP_CONNECTION_FOR_BSB_COULD_NOT_BE_MADE_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP connection for <b>%s</b> could not be made. Please check your signature details!"
|
||||||
COM_COMPONENTBUILDER_THE_FTP_SIGNATURE_FOR_BSB_WAS_NOT_WELL_FORMED_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP signature for <b>%s</b> was not well formed, please check your signature details!"
|
COM_COMPONENTBUILDER_THE_FTP_SIGNATURE_FOR_BSB_WAS_NOT_WELL_FORMED_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP signature for <b>%s</b> was not well formed, please check your signature details!"
|
||||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_POWERS_HAS_FAILED="The initialization of this Joomla powers has failed."
|
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_FIELD_TYPES_HAS_FAILED="The initialization of this Joomla Field Types has failed."
|
||||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED="The initialization of this powers has failed."
|
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_POWERS_HAS_FAILED="The initialization of this Joomla Powers has failed."
|
||||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla power has successfully been pushed."
|
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED="The initialization of this Powers has failed."
|
||||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla power has successfully been reset."
|
COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla Field Type has successfully been pushed."
|
||||||
|
COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla Field Type has successfully been reset."
|
||||||
|
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla Power has successfully been pushed."
|
||||||
|
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla Power has successfully been reset."
|
||||||
COM_COMPONENTBUILDER_THE_KEY_OF_THIS_PACKAGE="The key of this package."
|
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_CONFIG_FIELDS="The library config fields"
|
||||||
COM_COMPONENTBUILDER_THE_LIBRARY_FILES_FOLDERS_URLS="The library files, folders & URLs"
|
COM_COMPONENTBUILDER_THE_LIBRARY_FILES_FOLDERS_URLS="The library files, folders & URLs"
|
||||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla powers has successfully been synced with the remote repositories."
|
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_FIELD_TYPES_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla Field Types has successfully been synced with the remote repositories."
|
||||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database powers has successfully been synced with the remote repositories."
|
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla Powers has successfully been synced with the remote repositories."
|
||||||
|
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Powers has successfully been synced with the remote repositories."
|
||||||
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_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_FILES_FOLDERS="The module files & folders"
|
||||||
COM_COMPONENTBUILDER_THE_MODULE_UPDATES="The module updates"
|
COM_COMPONENTBUILDER_THE_MODULE_UPDATES="The module updates"
|
||||||
@ -9143,17 +9143,23 @@ COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE="The package key is: <code>%s<
|
|||||||
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S="The package key is: %s"
|
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S="The package key is: %s"
|
||||||
COM_COMPONENTBUILDER_THE_PLUGIN_FILES_FOLDERS="The plugin files & folders"
|
COM_COMPONENTBUILDER_THE_PLUGIN_FILES_FOLDERS="The plugin files & folders"
|
||||||
COM_COMPONENTBUILDER_THE_PLUGIN_UPDATES="The plugin updates"
|
COM_COMPONENTBUILDER_THE_PLUGIN_UPDATES="The plugin updates"
|
||||||
|
COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The power has successfully been pushed."
|
||||||
COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The power has successfully been reset."
|
COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The power has successfully been reset."
|
||||||
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_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_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_PUSH_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED="The push of these Joomla Field Types has failed."
|
||||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The push of these Joomla powers has failed."
|
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The push of these Joomla Powers has failed."
|
||||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_POWER_HAS_FAILED="The push of this Joomla power has failed."
|
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_POWERS_HAS_FAILED="The push of these Powers has failed."
|
||||||
|
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED="The push of this Joomla Field Type has failed."
|
||||||
|
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_POWER_HAS_FAILED="The push of this Joomla Power has failed."
|
||||||
|
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_POWER_HAS_FAILED="The push of this power has failed."
|
||||||
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
|
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
|
||||||
COM_COMPONENTBUILDER_THE_REPLACE_PROCESS_HAD_AN_ERROR_WITH_TABLE="The replace process had an error with table"
|
COM_COMPONENTBUILDER_THE_REPLACE_PROCESS_HAD_AN_ERROR_WITH_TABLE="The replace process had an error with table"
|
||||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The reset of these Joomla powers has failed."
|
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED="The reset of these Joomla Field Types has failed."
|
||||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED="The reset of these powers has failed."
|
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The reset of these Joomla Powers has failed."
|
||||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_POWER_HAS_FAILED="The reset of this Joomla power has failed."
|
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED="The reset of these Powers has failed."
|
||||||
|
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED="The reset of this Joomla Field Type has failed."
|
||||||
|
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_POWER_HAS_FAILED="The reset of this Joomla Power has failed."
|
||||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED="The reset of this power has failed."
|
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED="The reset of this power has failed."
|
||||||
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_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_SEARCH_PROCESS_HAD_AN_ERROR_WITH_TABLE="The search process had an error with table"
|
COM_COMPONENTBUILDER_THE_SEARCH_PROCESS_HAD_AN_ERROR_WITH_TABLE="The search process had an error with table"
|
||||||
@ -9248,14 +9254,18 @@ COM_COMPONENTBUILDER_TYPE_TEMPLATE="Template"
|
|||||||
COM_COMPONENTBUILDER_TYPE_VALIDATION_RULE="Validation Rule"
|
COM_COMPONENTBUILDER_TYPE_VALIDATION_RULE="Validation Rule"
|
||||||
COM_COMPONENTBUILDER_UNACTIVE_ONLY_FOUR_TEXT_FIELD="Unactive (only 4 text_field)"
|
COM_COMPONENTBUILDER_UNACTIVE_ONLY_FOUR_TEXT_FIELD="Unactive (only 4 text_field)"
|
||||||
COM_COMPONENTBUILDER_UNDERNEATH_TABS="Underneath Tabs"
|
COM_COMPONENTBUILDER_UNDERNEATH_TABS="Underneath Tabs"
|
||||||
|
COM_COMPONENTBUILDER_UNLOCK_TRUST_AND_SECURITY_WITH_LLEWELLYNS_GPG_KEY_YOUR_GATEWAY_TO_VERIFIED_CONNECTIONS="Unlock Trust and Security with Llewellyn's GPG Key: Your Gateway to Verified Connections!"
|
||||||
COM_COMPONENTBUILDER_UPDATE="Update"
|
COM_COMPONENTBUILDER_UPDATE="Update"
|
||||||
COM_COMPONENTBUILDER_UPDATE_ALL="Update All"
|
COM_COMPONENTBUILDER_UPDATE_ALL="Update All"
|
||||||
COM_COMPONENTBUILDER_UPDATE_ALL_DIVERGED_SNIPPETS="Update All Diverged Snippets"
|
COM_COMPONENTBUILDER_UPDATE_ALL_DIVERGED_SNIPPETS="Update All Diverged Snippets"
|
||||||
COM_COMPONENTBUILDER_UPDATE_ALL_ITEMS_FOUND_WITH_THIS_DATABASE_SEARCH_WITH_THE_REPLACE_VALUE="Update all items found with this database search, with the replace value."
|
COM_COMPONENTBUILDER_UPDATE_ALL_ITEMS_FOUND_WITH_THIS_DATABASE_SEARCH_WITH_THE_REPLACE_VALUE="Update all items found with this database search, with the replace value."
|
||||||
COM_COMPONENTBUILDER_UPDATE_ALL_OUT_DATED_SNIPPETS="Update All Out Dated Snippets"
|
COM_COMPONENTBUILDER_UPDATE_ALL_OUT_DATED_SNIPPETS="Update All Out Dated Snippets"
|
||||||
|
COM_COMPONENTBUILDER_UPDATE_OF_USER_S_S_FAILEDS="Update of user %s (%s) failed!%s"
|
||||||
COM_COMPONENTBUILDER_UP_TO_DATE="Up to date"
|
COM_COMPONENTBUILDER_UP_TO_DATE="Up to date"
|
||||||
COM_COMPONENTBUILDER_USAGE="Usage"
|
COM_COMPONENTBUILDER_USAGE="Usage"
|
||||||
COM_COMPONENTBUILDER_USED_IN="Used in"
|
COM_COMPONENTBUILDER_USED_IN="Used in"
|
||||||
|
COM_COMPONENTBUILDER_USER_CREATION_FAILED="User creation failed!"
|
||||||
|
COM_COMPONENTBUILDER_USER_S_S_CREATION_FAILEDS="User %s (%s) creation failed!%s"
|
||||||
COM_COMPONENTBUILDER_USE_BATCH="Use Batch"
|
COM_COMPONENTBUILDER_USE_BATCH="Use Batch"
|
||||||
COM_COMPONENTBUILDER_USE_BATCH_DESC="Allows users in this group to use batch copy/update method."
|
COM_COMPONENTBUILDER_USE_BATCH_DESC="Allows users in this group to use batch copy/update method."
|
||||||
COM_COMPONENTBUILDER_USE_KEY="Use Key"
|
COM_COMPONENTBUILDER_USE_KEY="Use Key"
|
||||||
@ -9334,8 +9344,6 @@ COM_COMPONENTBUILDER_VALIDATION_RULE_PHP_DESCRIPTION="Add your PHP here! [Do not
|
|||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_PHP_HINT="// PHP class methods and fields can be added here"
|
COM_COMPONENTBUILDER_VALIDATION_RULE_PHP_HINT="// PHP class methods and fields can be added here"
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_PHP_LABEL="PHP <small>(class methods)</small>"
|
COM_COMPONENTBUILDER_VALIDATION_RULE_PHP_LABEL="PHP <small>(class methods)</small>"
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_PUBLISHING="Publishing"
|
COM_COMPONENTBUILDER_VALIDATION_RULE_PUBLISHING="Publishing"
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_RUN_EXPANSION_BUTTON_ACCESS="Validation Rule Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Validation Rule to customise the alias."
|
COM_COMPONENTBUILDER_VALIDATION_RULE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Validation Rule to customise the alias."
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_SHORT_DESCRIPTION_DESCRIPTION="Enter short description"
|
COM_COMPONENTBUILDER_VALIDATION_RULE_SHORT_DESCRIPTION_DESCRIPTION="Enter short description"
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_SHORT_DESCRIPTION_HINT="Your Short Description Here"
|
COM_COMPONENTBUILDER_VALIDATION_RULE_SHORT_DESCRIPTION_HINT="Your Short Description Here"
|
||||||
@ -9345,7 +9353,6 @@ 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_DESC="A count of the number of times this Validation Rule has been revised."
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_VERSION_LABEL="Version"
|
COM_COMPONENTBUILDER_VALIDATION_RULE_VERSION_LABEL="Version"
|
||||||
COM_COMPONENTBUILDER_VALUE="Value"
|
COM_COMPONENTBUILDER_VALUE="Value"
|
||||||
COM_COMPONENTBUILDER_VDM_BOARD="VDM board"
|
|
||||||
COM_COMPONENTBUILDER_VDM_NOTICE_BOARD="VDM Notice Board"
|
COM_COMPONENTBUILDER_VDM_NOTICE_BOARD="VDM Notice Board"
|
||||||
COM_COMPONENTBUILDER_VDM_PACKAGES="VDM Packages"
|
COM_COMPONENTBUILDER_VDM_PACKAGES="VDM Packages"
|
||||||
COM_COMPONENTBUILDER_VERSION="Version"
|
COM_COMPONENTBUILDER_VERSION="Version"
|
||||||
@ -9403,16 +9410,19 @@ COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_ACCESS_THE_SERVER_DETAILS_BS_
|
|||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_DOWNLOAD_THE_COMPILER_ANIMATIONS="You do not have permission to download the compiler animations!"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_DOWNLOAD_THE_COMPILER_ANIMATIONS="You do not have permission to download the compiler animations!"
|
||||||
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_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_INITIALIZE_JOOMLA_POWERS="You do not have permission to initialize Joomla powers"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_FIELD_TYPES="You do not have permission to initialize Joomla Field Types"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_POWERS="You do not have permission to initialize powers"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_POWERS="You do not have permission to initialize Joomla Powers"
|
||||||
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_POWERS="You do not have permission to initialize Powers"
|
||||||
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_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_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_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_INSTALL_THE_PLUGIN="You do not have permission to install the plugin!"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_POWER="You do not have permission to push this Joomla power"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_FIELD_TYPE="You do not have permission to push this Joomla Field Type"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_POWER="You do not have permission to reset this Joomla power"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_POWER="You do not have permission to push this Joomla Power"
|
||||||
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_POWER="You do not have permission to push this power"
|
||||||
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_FIELD_TYPE="You do not have permission to reset this Joomla Field Type"
|
||||||
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_POWER="You do not have permission to reset this Joomla Power"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_POWER="You do not have permission to reset this power"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_POWER="You do not have permission to reset this power"
|
||||||
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!"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_GET_BOILERPLATE_MODULE="You do not have permission to run the get boilerplate module!"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_TRANSLATOR_MODULE="You do not have permission to run the translator module!"
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_TRANSLATOR_MODULE="You do not have permission to run the translator module!"
|
||||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_SHARE_THE_SNIPPETS_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to share the snippets, please contact your system administrator for more help."
|
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_SHARE_THE_SNIPPETS_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to share the snippets, please contact your system administrator for more help."
|
||||||
@ -9423,7 +9433,8 @@ COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_PLACEHOLDER="You must add an unique
|
|||||||
COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME="You must add an unique validation rule name."
|
COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME="You must add an unique validation rule name."
|
||||||
COM_COMPONENTBUILDER_YOU_MUST_ENABLE_THE_BTIDYB_EXTENSION_IN_YOUR_PHPINI_FILE_SO_WE_CAN_TIDY_UP_YOUR_XML_IF_YOU_NEED_HELP_PLEASE_A_SSTART_HEREA="You must enable the <b>Tidy</b> extension in your php.ini file so we can tidy up your xml! If you need help please <a %s>start here</a>!"
|
COM_COMPONENTBUILDER_YOU_MUST_ENABLE_THE_BTIDYB_EXTENSION_IN_YOUR_PHPINI_FILE_SO_WE_CAN_TIDY_UP_YOUR_XML_IF_YOU_NEED_HELP_PLEASE_A_SSTART_HEREA="You must enable the <b>Tidy</b> extension in your php.ini file so we can tidy up your xml! If you need help please <a %s>start here</a>!"
|
||||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE="You must first link an admin or a custom admin view to this component, then you can select it here"
|
COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE="You must first link an admin or a custom admin view to this component, then you can select it here"
|
||||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla power, before you can use this feature."
|
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla Field Type, before you can use this feature."
|
||||||
|
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla Power, before you can use this feature."
|
||||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the power, before you can use this feature."
|
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the power, before you can use this feature."
|
||||||
COM_COMPONENTBUILDER_YOU_MUST_SELECT_A_COMPONENT="You must select a component!"
|
COM_COMPONENTBUILDER_YOU_MUST_SELECT_A_COMPONENT="You must select a component!"
|
||||||
COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS="You should add the correct owner details."
|
COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS="You should add the correct owner details."
|
||||||
|
@ -107,8 +107,6 @@ COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT="Admin Views Import"
|
|||||||
COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC="Allows the users in this group to import import admin views"
|
COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC="Allows the users in this group to import import admin views"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU="Admin Views Submenu"
|
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU="Admin Views Submenu"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of admin view"
|
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of admin view"
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS="Admin View Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_ACCESS="Class Extendings Access"
|
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_ACCESS="Class Extendings Access"
|
||||||
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_ACCESS_DESC="Allows the users in this group to access access class extendings"
|
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_ACCESS_DESC="Allows the users in this group to access access class extendings"
|
||||||
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_BATCH_USE="Class Extendings Batch Use"
|
COM_COMPONENTBUILDER_CLASS_EXTENDINGS_BATCH_USE="Class Extendings Batch Use"
|
||||||
@ -185,8 +183,6 @@ COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS="Compiler Compil
|
|||||||
COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC="Allows the users in this group to access the compiler animations button."
|
COM_COMPONENTBUILDER_COMPILER_COMPILER_ANIMATIONS_BUTTON_ACCESS_DESC="Allows the users in this group to access the compiler animations button."
|
||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
|
||||||
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS="Compiler Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
|
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
|
||||||
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
|
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
|
||||||
COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS="Compiler Translate Button Access"
|
COM_COMPONENTBUILDER_COMPILER_TRANSLATE_BUTTON_ACCESS="Compiler Translate Button Access"
|
||||||
@ -534,8 +530,6 @@ COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT="Dynamic Gets Import"
|
|||||||
COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC="Allows the users in this group to import import dynamic gets"
|
COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC="Allows the users in this group to import import dynamic gets"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU="Dynamic Gets Submenu"
|
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU="Dynamic Gets Submenu"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to submenu of dynamic get"
|
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to submenu of dynamic get"
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS="Dynamic Get Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_EDIT_CREATED_BY="Edit Created By"
|
COM_COMPONENTBUILDER_EDIT_CREATED_BY="Edit Created By"
|
||||||
COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC="Allows users in this group to edit created by."
|
COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC="Allows users in this group to edit created by."
|
||||||
COM_COMPONENTBUILDER_EDIT_CREATED_DATE="Edit Created Date"
|
COM_COMPONENTBUILDER_EDIT_CREATED_DATE="Edit Created Date"
|
||||||
@ -594,8 +588,12 @@ COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
|
|||||||
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
|
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
|
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
|
||||||
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
|
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
|
||||||
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS="Field Run Expansion Button Access"
|
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS="Fieldtype Init Button Access"
|
||||||
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS="Fieldtype Push Button Access"
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS="Fieldtype Reset Button Access"
|
||||||
|
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||||
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS="Get Snippets Access"
|
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS="Get Snippets Access"
|
||||||
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC="Allows the users in this group to access get snippets."
|
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC="Allows the users in this group to access get snippets."
|
||||||
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets Custom Admin Views Button Access"
|
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets Custom Admin Views Button Access"
|
||||||
@ -674,8 +672,6 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC="Allows the users in this group to access the export jcb packages button."
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC="Allows the users in this group to access the export jcb packages button."
|
||||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
|
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
|
||||||
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_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="Joomla Modules Access"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_MODULES_ACCESS_DESC="Allows the users in this group to access access joomla modules"
|
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="Joomla Modules Batch Use"
|
||||||
@ -746,8 +742,6 @@ COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION="Joomla Modules Updates
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION_DESC="Allows the users in this group to edit versions of version joomla modules updates"
|
COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_EDIT_VERSION_DESC="Allows the 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="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_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="Joomla Plugins Access"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_ACCESS_DESC="Allows the users in this group to access access joomla plugins"
|
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"
|
COM_COMPONENTBUILDER_JOOMLA_PLUGINS_BATCH_USE="Joomla Plugins Batch Use"
|
||||||
@ -824,8 +818,6 @@ COM_COMPONENTBUILDER_JOOMLA_PLUGIN_METHODS_BUTTON_ACCESS="Joomla Plugin Methods
|
|||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_METHODS_BUTTON_ACCESS_DESC="Allows the users in this group to access the methods button."
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_METHODS_BUTTON_ACCESS_DESC="Allows the users in this group to access the methods button."
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS="Joomla Plugin Properties Button Access"
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS="Joomla Plugin Properties Button Access"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS_DESC="Allows the users in this group to access the properties button."
|
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_PROPERTIES_BUTTON_ACCESS_DESC="Allows the users in this group to access the properties button."
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_RUN_EXPANSION_BUTTON_ACCESS="Joomla Plugin Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_JOOMLA_PLUGIN_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS="Joomla Powers Access"
|
COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS="Joomla Powers Access"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS_DESC="Allows the users in this group to access access joomla powers"
|
COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS_DESC="Allows the users in this group to access access joomla powers"
|
||||||
COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE="Joomla Powers Batch Use"
|
COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE="Joomla Powers Batch Use"
|
||||||
@ -1063,10 +1055,10 @@ COM_COMPONENTBUILDER_POWERS_SUBMENU="Powers Submenu"
|
|||||||
COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC="Allows the users in this group to submenu of power"
|
COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC="Allows the users in this group to submenu of power"
|
||||||
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS="Power Init Button Access"
|
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS="Power Init Button Access"
|
||||||
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||||
|
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS="Power Push Button Access"
|
||||||
|
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
||||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||||
COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS="Power Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
||||||
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS="Repositories Access"
|
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS="Repositories Access"
|
||||||
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS_DESC="Allows the users in this group to access access repositories"
|
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS_DESC="Allows the users in this group to access access repositories"
|
||||||
COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE="Repositories Batch Use"
|
COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE="Repositories Batch Use"
|
||||||
@ -1251,5 +1243,3 @@ COM_COMPONENTBUILDER_VALIDATION_RULES_IMPORT="Validation Rules Import"
|
|||||||
COM_COMPONENTBUILDER_VALIDATION_RULES_IMPORT_DESC="Allows the users in this group to import import validation rules"
|
COM_COMPONENTBUILDER_VALIDATION_RULES_IMPORT_DESC="Allows the users in this group to import import validation rules"
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU="Validation Rules Submenu"
|
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU="Validation Rules Submenu"
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC="Allows the users in this group to submenu of validation rule"
|
COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC="Allows the users in this group to submenu of validation rule"
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_RUN_EXPANSION_BUTTON_ACCESS="Validation Rule Run Expansion Button Access"
|
|
||||||
COM_COMPONENTBUILDER_VALIDATION_RULE_RUN_EXPANSION_BUTTON_ACCESS_DESC="Allows the users in this group to access the run expansion button."
|
|
@ -20,8 +20,8 @@ use Joomla\CMS\Layout\LayoutHelper;
|
|||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div class="well well-small">
|
<div id="noticeboard">
|
||||||
<h2 class="module-title nav-header"><?= Text::_('COM_COMPONENTBUILDER_JCB_PRO_NOTICE_BOARD') ?></h2>
|
<?php echo LayoutHelper::render('mastodon', $displayData ?? []); ?>
|
||||||
<div class="proboard-md"><small><?= Text::_('COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING') ?><span class="loading-dots">.</span></small></div>
|
|
||||||
<div style="text-align:right;"><small><a href="https://vdm.bz/get-jcb-pro-membership" target="_blank" style="color:gray">JCB PRO</a></small></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<?php echo LayoutHelper::render('socialnetworking', null); ?>
|
||||||
|
<div><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
@ -1,34 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* @package Joomla.Component.Builder
|
|
||||||
*
|
|
||||||
* @created 30th April, 2015
|
|
||||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
|
||||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
|
||||||
* @copyright Copyright (C) 2015 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('JPATH_BASE') or die('Restricted access');
|
|
||||||
|
|
||||||
use Joomla\CMS\Factory;
|
|
||||||
use Joomla\CMS\Language\Text;
|
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
|
||||||
use Joomla\CMS\Layout\LayoutHelper;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
||||||
<div id="<?php echo $displayData['id']; ?>">
|
|
||||||
<?php echo Html::_('bootstrap.startTabSet', $displayData['id'] . '_tab', array('active' => $displayData['active'] . '-noticeboard')); ?>
|
|
||||||
<?php echo Html::_('bootstrap.addTab', $displayData['id'] . '_tab', 'vdm-noticeboard', Text::_('COM_COMPONENTBUILDER_VDM_BOARD', true)); ?>
|
|
||||||
<?php echo LayoutHelper::render('jcbnoticeboardvdm', null); ?>
|
|
||||||
<div class="p-md-3"><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
|
||||||
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
||||||
<?php echo Html::_('bootstrap.addTab', $displayData['id'] . '_tab', 'pro-noticeboard', Text::_('COM_COMPONENTBUILDER_JCB_PRO_BOARD', true)); ?>
|
|
||||||
<?php echo LayoutHelper::render('jcbnoticeboardpro', null); ?>
|
|
||||||
<div class="p-md-3"><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
|
||||||
<?php echo Html::_('bootstrap.endTab'); ?>
|
|
||||||
<?php echo Html::_('bootstrap.endTabSet'); ?>
|
|
||||||
</div>
|
|
@ -1,27 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* @package Joomla.Component.Builder
|
|
||||||
*
|
|
||||||
* @created 30th April, 2015
|
|
||||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
|
||||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
|
||||||
* @copyright Copyright (C) 2015 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('JPATH_BASE') or die('Restricted access');
|
|
||||||
|
|
||||||
use Joomla\CMS\Factory;
|
|
||||||
use Joomla\CMS\Language\Text;
|
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
|
||||||
use Joomla\CMS\Layout\LayoutHelper;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
||||||
<div class="well well-small">
|
|
||||||
<h2 class="module-title nav-header"><?= Text::_('COM_COMPONENTBUILDER_VDM_NOTICE_BOARD') ?><span class="vdm-new-notice" style="display:none; color:red;"> (<?= Text::_('COM_COMPONENTBUILDER_NEW_NOTICE') ?>)</span></h2>
|
|
||||||
<div class="noticeboard-md"><small><?= Text::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING') ?><span class="loading-dots">.</span></small></div>
|
|
||||||
<div style="text-align:right;"><small><a href="https://github.com/Llewellynvdm" target="_blank" style="color:gray"><<ewe>>yn</a></small></div>
|
|
||||||
</div>
|
|
71
admin/layouts/mastodon.php
Normal file
71
admin/layouts/mastodon.php
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 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('JPATH_BASE') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Layout\LayoutHelper;
|
||||||
|
|
||||||
|
// Extract all keys from $displayData as individual variables.
|
||||||
|
extract($displayData ?? []);
|
||||||
|
|
||||||
|
// The 'id' parameter, defaulting to mastodon-feed.
|
||||||
|
$id ??= 'mastodon-feed';
|
||||||
|
|
||||||
|
// The button 'id' parameter, defaulting to refresh-feed.
|
||||||
|
$button_id ??= 'refresh-feed';
|
||||||
|
|
||||||
|
// The mastodon instance URL
|
||||||
|
$instance ??= 'https://joomla.social';
|
||||||
|
|
||||||
|
// The user account ID
|
||||||
|
$account ??= '112766899254600077';
|
||||||
|
|
||||||
|
// The number of post to load
|
||||||
|
$posts ??= 5;
|
||||||
|
|
||||||
|
// The 'invite_url' parameter, defaulting to https://joomla.social/invite/gzAvC48K.
|
||||||
|
$invite_url ??= 'https://joomla.social/invite/gzAvC48K';
|
||||||
|
|
||||||
|
// The 'invite_heading' parameter.
|
||||||
|
$invite_heading ??= Text::_("COM_COMPONENTBUILDER_LLEWELLYNS_JOOMLA_SOCIAL_FEED");
|
||||||
|
|
||||||
|
// The 'invite_title' parameter.
|
||||||
|
$invite_title ??= Text::_("COM_COMPONENTBUILDER_JOIN_JCBS_LEAD_DEVELOPER_ON_JOOMLA_SOCIAL_A_MASTODON_INSTANCE");
|
||||||
|
|
||||||
|
?>
|
||||||
|
<div class="well well-small mastadon-display-block">
|
||||||
|
<h2>
|
||||||
|
<a
|
||||||
|
href="<?php echo $invite_url; ?>"
|
||||||
|
title="<?php echo $invite_title; ?>">
|
||||||
|
<?php echo $invite_heading; ?>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
type="button"
|
||||||
|
id="<?php echo $button_id; ?>"
|
||||||
|
href="#"
|
||||||
|
title="<?php echo Text::_('COM_COMPONENTBUILDER_REFRESH_FEED'); ?>">
|
||||||
|
<i class="icon-loop"></i>
|
||||||
|
</a>
|
||||||
|
</h2>
|
||||||
|
<div id="<?php echo $id; ?>"
|
||||||
|
data-instance="<?php echo $instance; ?>"
|
||||||
|
data-account-id="<?php echo $account; ?>"
|
||||||
|
data-post-count="<?php echo $posts; ?>">
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
new MastodonFeed("<?php echo $id; ?>", "<?php echo $button_id; ?>");
|
||||||
|
</script>
|
||||||
|
</div>
|
45
admin/layouts/repository/placeholders_fullwidth.php
Normal file
45
admin/layouts/repository/placeholders_fullwidth.php
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 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(
|
||||||
|
'placeholder_note',
|
||||||
|
'addplaceholders'
|
||||||
|
);
|
||||||
|
|
||||||
|
$hiddenFields = $displayData->get('hidden_fields') ?: [];
|
||||||
|
|
||||||
|
?>
|
||||||
|
<?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; ?>
|
61
admin/layouts/socialnetworking.php
Normal file
61
admin/layouts/socialnetworking.php
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 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('JPATH_BASE') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Layout\LayoutHelper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
<div id="llewellyns-social-icons" class="social-icons" style="float: right;">
|
||||||
|
<a href="https://volunteers.joomla.org/joomlers/1396-llewellyn-van-der-merwe" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_JOIN_LLEWELLYN_ON_THE_JOOMLA_VOLUNTEER_PORTAL_SHAPING_THE_FUTURE_TOGETHER'); ?>">
|
||||||
|
<i class="icon-joomla"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://git.vdm.dev/octoleo" class="text-decoration-none me-2" data-description="--quiet">
|
||||||
|
<i class="icon-shield"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://git.vdm.dev/Llewellyn" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_COLLABORATE_AND_INNOVATE_WITH_LLEWELLYN_ON_GIT_BUILDING_A_BETTER_CODE_FUTURE'); ?>">
|
||||||
|
<i class="icon-tree"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://joomla.social/@llewellyn" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_CONNECT_AND_ENGAGE_WITH_LLEWELLYN_ON_JOOMLA_SOCIAL_EMPOWERING_COMMUNITIES_ONE_POST_AT_A_TIME'); ?>">
|
||||||
|
<i class="icon-puzzle"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://x.com/llewellynvdm" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_JOIN_THE_CONVERSATION_WITH_LLEWELLYN_ON_X_WHERE_IDEAS_TAKE_FLIGHT'); ?>">
|
||||||
|
<i class="icon-signup"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/Llewellynvdm" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_BUILD_INNOVATE_AND_THRIVE_WITH_LLEWELLYN_ON_GITHUB_TURNING_IDEAS_INTO_IMPACT'); ?>">
|
||||||
|
<i class="icon-cog"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.youtube.com/@OctoYou" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_EXPLORE_LEARN_AND_CREATE_WITH_LLEWELLYN_ON_YOUTUBE_YOUR_GATEWAY_TO_INSPIRATION'); ?>">
|
||||||
|
<i class="icon-youtube"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://hub.docker.com/u/llewellyn" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_LLEWELLYN_ON_DOCKER_CONTAINERIZE_YOUR_CREATIVITY'); ?>">
|
||||||
|
<i class="icon-box-add"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://opencollective.com/joomla-component-builder" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_DONATE_TOWARDS_JCB_HELP_LLEWELLYN_FINANCIALLY_SO_HE_CAN_CONTINUE_DEVELOPING_THIS_GREAT_TOOL'); ?>">
|
||||||
|
<i class="icon-heart"></i>
|
||||||
|
</a>
|
||||||
|
<a href="https://git.vdm.dev/Llewellyn/gpg" class="text-decoration-none" data-description="<?php echo Text::_("COM_COMPONENTBUILDER_UNLOCK_TRUST_AND_SECURITY_WITH_LLEWELLYNS_GPG_KEY_YOUR_GATEWAY_TO_VERIFIED_CONNECTIONS"); ?>">
|
||||||
|
<i class="icon-key"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div id="llewellyns-social-icon-details" class="social-icon-details" style="float: right;"></div>
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
new IconWaveAnimator("llewellyns-social-icons", "llewellyns-social-icon-details");
|
||||||
|
});
|
||||||
|
</script>
|
@ -18,15 +18,31 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
|
|||||||
use Joomla\CMS\Layout\LayoutHelper;
|
use Joomla\CMS\Layout\LayoutHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
|
|
||||||
$table_id = (isset($displayData['id'])) ? $displayData['id'] : StringHelper::random(7);
|
// Extract all keys from $displayData as individual variables.
|
||||||
$name = (isset($displayData['name'])) ? $displayData['name'] : false;
|
extract($displayData);
|
||||||
$table_class = (isset($displayData['table_class'])) ? $displayData['table_class'] : 'uk-table';
|
|
||||||
$table_container_class = (isset($displayData['table_container_class'])) ? $displayData['table_container_class'] : 'uk-overflow-auto';
|
// Assign default values for variables that might not be present in $displayData.
|
||||||
$headers = (isset($displayData['headers'])) ? $displayData['headers'] : [Text::_('COM_COMPONENTBUILDER_NO'), Text::_('COM_COMPONENTBUILDER_HEADERS'), Text::_('COM_COMPONENTBUILDER_FOUND')];
|
|
||||||
$items = (isset($displayData['items'])) ? $displayData['items'] : 6;
|
// The 'table_id' parameter, defaulting to a randomly generated value if not set or is null.
|
||||||
|
$table_id = $id ?? StringHelper::random(7);
|
||||||
|
|
||||||
|
// The 'name' parameter, defaulting to false if not set or is null.
|
||||||
|
$name ??= false;
|
||||||
|
|
||||||
|
// The 'table_class' parameter, defaulting to 'uk-table' if not set or is null.
|
||||||
|
$table_class ??= 'uk-table';
|
||||||
|
|
||||||
|
// The 'table_container_class' parameter, defaulting to 'uk-overflow-auto' if not set or is null.
|
||||||
|
$table_container_class ??= 'uk-overflow-auto';
|
||||||
|
|
||||||
|
// The 'headers' parameter, defaulting to an array of default header values if not set or is null.
|
||||||
|
$headers ??= [Text::_('COM_COMPONENTBUILDER_NO'), Text::_('COM_COMPONENTBUILDER_HEADERS'), Text::_('COM_COMPONENTBUILDER_FOUND')];
|
||||||
|
|
||||||
|
// The 'items' parameter, defaulting to 6 if not set or is null.
|
||||||
|
$items ??= 6;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div class="<?php echo $$table_container_class; ?>">
|
<div class="<?php echo $table_container_class; ?>">
|
||||||
<table id="<?php echo $table_id; ?>" class="<?php echo $table_class; ?>">
|
<table id="<?php echo $table_id; ?>" class="<?php echo $table_class; ?>">
|
||||||
<thead>
|
<thead>
|
||||||
<?php if (is_array($headers)): ?>
|
<?php if (is_array($headers)): ?>
|
||||||
|
@ -31,16 +31,16 @@ use Joomla\CMS\Layout\LayoutHelper;
|
|||||||
document.adminForm.elements['checkall-toggle'].checked=1;
|
document.adminForm.elements['checkall-toggle'].checked=1;
|
||||||
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
|
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
|
||||||
// check to confirm the deletion
|
// check to confirm the deletion
|
||||||
if(confirm('<?= Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
if(confirm('<?php echo Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
||||||
Joomla.submitbutton('<?= $displayData->get("name") ?>.delete');
|
Joomla.submitbutton('<?php echo $displayData->getName(); ?>.delete');
|
||||||
} else {
|
} else {
|
||||||
document.adminForm.elements['checkall-toggle'].checked=0;
|
document.adminForm.elements['checkall-toggle'].checked=0;
|
||||||
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
|
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// confirm deletion of those selected
|
// confirm deletion of those selected
|
||||||
if (confirm('<?= Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
if (confirm('<?php echo Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
||||||
Joomla.submitbutton('<?= $displayData->get("name") ?>.delete');
|
Joomla.submitbutton('<?php echo $displayData->getName(); ?>.delete');
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -56,23 +56,23 @@ use Joomla\CMS\Layout\LayoutHelper;
|
|||||||
<?php if (empty($displayData->items)): ?>
|
<?php if (empty($displayData->items)): ?>
|
||||||
<h4 class="alert-heading">
|
<h4 class="alert-heading">
|
||||||
<span class="icon-trash"></span>
|
<span class="icon-trash"></span>
|
||||||
<?= Text::_("COM_COMPONENTBUILDER_TRASH_AREA") ?>
|
<?php echo Text::_("COM_COMPONENTBUILDER_TRASH_AREA") ?>
|
||||||
</h4>
|
</h4>
|
||||||
<p><?= Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASH_AREA_AND_YOU_DONT_HAVE_ANY_ITEMS_IN_TRASH_AT_THE_MOMENT") ?></p>
|
<p><?php echo Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASH_AREA_AND_YOU_DONT_HAVE_ANY_ITEMS_IN_TRASH_AT_THE_MOMENT") ?></p>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<h4 class="alert-heading">
|
<h4 class="alert-heading">
|
||||||
<span class="icon-trash"></span>
|
<span class="icon-trash"></span>
|
||||||
<?= Text::_("COM_COMPONENTBUILDER_TRASHED_ITEMS") ?>
|
<?php echo Text::_("COM_COMPONENTBUILDER_TRASHED_ITEMS") ?>
|
||||||
</h4>
|
</h4>
|
||||||
<p><?= Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASHED_ITEMS") ?></p>
|
<p><?php echo Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASHED_ITEMS") ?></p>
|
||||||
<button onclick="emptyTrash();" class="btn btn-small btn-danger">
|
<button onclick="emptyTrash();" class="btn btn-small btn-danger">
|
||||||
<span class="icon-delete" aria-hidden="true"></span>
|
<span class="icon-delete" aria-hidden="true"></span>
|
||||||
<?= Text::_("COM_COMPONENTBUILDER_EMPTY_TRASH") ?>
|
<?php echo Text::_("COM_COMPONENTBUILDER_EMPTY_TRASH") ?>
|
||||||
</button>
|
</button>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<button onclick="exitTrash();" class="btn btn-small">
|
<button onclick="exitTrash();" class="btn btn-small">
|
||||||
<span class="icon-back" aria-hidden="true"></span>
|
<span class="icon-back" aria-hidden="true"></span>
|
||||||
<?= Text::_("COM_COMPONENTBUILDER_EXIT_TRASH") ?>
|
<?php echo Text::_("COM_COMPONENTBUILDER_EXIT_TRASH") ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -114,7 +115,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('admin_fields_relations__'.$id))
|
if (($vdm = SessionHelper::get('admin_fields_relations__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -122,17 +123,17 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
SessionHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||||
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
SessionHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -187,7 +188,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('admin_fields_relations__'.$id))
|
if (($vdm = SessionHelper::get('admin_fields_relations__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -195,17 +196,17 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
SessionHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||||
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
SessionHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -263,7 +264,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
if (($vdm = SessionHelper::get('admin_view__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -271,17 +272,17 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
SessionHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||||
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
|
SessionHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -612,7 +613,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
if (($vdm = SessionHelper::get('admin_view__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -620,17 +621,17 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
SessionHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||||
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
|
SessionHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// update the fields
|
// update the fields
|
||||||
@ -799,6 +800,9 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update the ajax_input (sub form) layout
|
||||||
|
$form->setFieldAttribute('ajax_input', 'layout', ComponentbuilderHelper::getSubformLayout('admin_view', 'ajax_input'));
|
||||||
|
|
||||||
// update all editors to use this components global editor
|
// update all editors to use this components global editor
|
||||||
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
||||||
// now get all the editor fields
|
// now get all the editor fields
|
||||||
@ -1013,7 +1017,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
|||||||
// change to false
|
// change to false
|
||||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||||
// also clear the data set
|
// also clear the data set
|
||||||
$data[$requiredField] = '';
|
unset($data[$requiredField]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ use VDM\Joomla\Componentbuilder\Search\Factory as SearchFactory;
|
|||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\GetHelper;
|
use VDM\Joomla\Utilities\GetHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\Base64Helper;
|
use VDM\Joomla\Utilities\Base64Helper;
|
||||||
use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper;
|
use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper;
|
||||||
use Joomla\CMS\Uri\Uri;
|
use Joomla\CMS\Uri\Uri;
|
||||||
@ -164,35 +165,73 @@ class ComponentbuilderModelAjax extends ListModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the component display
|
* Generate the component details display in HTML.
|
||||||
**/
|
*
|
||||||
|
* @param object $object The component object containing details.
|
||||||
|
* @return string The HTML string for displaying component details.
|
||||||
|
*/
|
||||||
protected function componentDetailsDisplay($object)
|
protected function componentDetailsDisplay($object)
|
||||||
{
|
{
|
||||||
// set some vars
|
// Helper variables with null coalescing to ensure robust value assignment
|
||||||
$image = (StringHelper::check($object->image)) ? '<img alt="Joomla Component Image" src="'. Uri::root() . $object->image . '" style="float: right;">': '';
|
$imageSrc = !empty($object->image) ? htmlspecialchars($object->image, ENT_QUOTES) : null;
|
||||||
$desc = (StringHelper::check($object->description)) ? $object->description : $object->short_description;
|
$image = $imageSrc
|
||||||
$placeholder = ($object->add_placeholders == 1) ? '<span class="btn btn-small btn-success"> ' . Text::_('COM_COMPONENTBUILDER_YES') . ' </span>' : '<span class="btn btn-small btn-danger"> ' .Text::_('COM_COMPONENTBUILDER_NO') . ' </span>' ;
|
? '<img alt="' . Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE') . '" src="' . Uri::root() . $imageSrc . '" style="float: right; max-width: 250px; margin-left: 15px;">'
|
||||||
$debug = ($object->debug_linenr == 1) ? '<span class="btn btn-small btn-success"> ' .Text::_('COM_COMPONENTBUILDER_YES') . '</span>' : ' <span class="btn btn-small btn-danger"> ' .Text::_('COM_COMPONENTBUILDER_NO') . ' </span>' ;
|
: '';
|
||||||
$html = array();
|
|
||||||
$html[] = '<h3>' . $object->name . ' (v' . $object->component_version . ')</h3>';
|
$description = htmlspecialchars(!empty($object->description) ? $object->description : $object->short_description, ENT_QUOTES);
|
||||||
$html[] = '<p>' . $desc . $image . '</p>';
|
|
||||||
$html[] = '<ul>';
|
$placeholderStatus = $object->add_placeholders
|
||||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_COMPANY') . ': <b>' . $object->companyname . '</b></li>';
|
? '<span class="badge badge-success">' . Text::_('COM_COMPONENTBUILDER_YES') . '</span>'
|
||||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_AUTHOR') . ': <b>' . $object->author . '</b></li>';
|
: '<span class="badge badge-danger">' . Text::_('COM_COMPONENTBUILDER_NO') . '</span>';
|
||||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_EMAIL') . ': <b>' . $object->email . '</b></li>';
|
|
||||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_WEBSITE') . ': <b>' . $object->website . '</b></li>';
|
$debugStatus = $object->debug_linenr
|
||||||
$html[] = '</ul>';
|
? '<span class="badge badge-success">' . Text::_('COM_COMPONENTBUILDER_YES') . '</span>'
|
||||||
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_COMPONENT_GLOBAL_SETTINGS') . '</h4>';
|
: '<span class="badge badge-danger">' . Text::_('COM_COMPONENTBUILDER_NO') . '</span>';
|
||||||
|
|
||||||
|
// Author and company details
|
||||||
|
$company = '<ul>';
|
||||||
|
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_COMPANY') . ':</strong> ' . htmlspecialchars($object->companyname, ENT_QUOTES) . '</li>';
|
||||||
|
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_AUTHOR') . ':</strong> ' . htmlspecialchars($object->author, ENT_QUOTES) . '</li>';
|
||||||
|
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_EMAIL') . ':</strong> <a href="mailto:' . htmlspecialchars($object->email, ENT_QUOTES) . '">' . htmlspecialchars($object->email, ENT_QUOTES) . '</a></li>';
|
||||||
|
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_WEBSITE') . ':</strong> <a href="' . htmlspecialchars($object->website, ENT_QUOTES) . '" target="_blank" rel="noopener">' . htmlspecialchars($object->website, ENT_QUOTES) . '</a></li>';
|
||||||
|
$company .= '</ul>';
|
||||||
|
|
||||||
|
// Build HTML output
|
||||||
|
$html = [];
|
||||||
|
|
||||||
|
// Header with component name and version
|
||||||
|
$html[] = '<div class="component-details">';
|
||||||
|
$html[] = '<h3>' . htmlspecialchars($object->name, ENT_QUOTES) . ' (v' . htmlspecialchars($object->component_version, ENT_QUOTES) . ')</h3>';
|
||||||
|
|
||||||
|
// Description with optional image
|
||||||
|
$html[] = '<div class="description" style="overflow: hidden;">';
|
||||||
|
$html[] = '<p>' . $image . $description . $company . '</p>';
|
||||||
|
$html[] = '</div>';
|
||||||
|
|
||||||
|
// Component settings
|
||||||
|
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_COMPONENT_SETTINGS') . '</h4>';
|
||||||
$html[] = '<p>';
|
$html[] = '<p>';
|
||||||
$html[] = Text::_('COM_COMPONENTBUILDER_ADD_CUSTOM_CODE_PLACEHOLDERS') . '<br />' . $placeholder . '<br />';
|
$html[] = Text::_('COM_COMPONENTBUILDER_ADD_CUSTOM_CODE_PLACEHOLDERS') . ': ' . $placeholderStatus . '<br>';
|
||||||
$html[] = Text::_('COM_COMPONENTBUILDER_DEBUG_LINE_NUMBERS') . '<br />' . $debug ;
|
$html[] = Text::_('COM_COMPONENTBUILDER_DEBUG_LINE_NUMBERS') . ': ' . $debugStatus;
|
||||||
$html[] = '</p>';
|
$html[] = '</p>';
|
||||||
|
|
||||||
|
// License details
|
||||||
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_LICENSE') . '</h4>';
|
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_LICENSE') . '</h4>';
|
||||||
$html[] = '<p>' . $object->license . '</p>';
|
$html[] = '<p>' . nl2br(htmlspecialchars($object->license, ENT_QUOTES)) . '</p>';
|
||||||
|
|
||||||
|
// Copyright
|
||||||
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_COPYRIGHT') . '</h4>';
|
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_COPYRIGHT') . '</h4>';
|
||||||
$html[] = '<p>' . $object->copyright . '<br /><br />';
|
$html[] = '<p>' . nl2br(htmlspecialchars($object->copyright, ENT_QUOTES)) . '</p>';
|
||||||
$html[] = '<a href="index.php?option=com_componentbuilder&ref=compiler&view=joomla_components&task=joomla_component.edit&id=' . (int) $object->id . '" class="btn btn-small span12"><span class="icon-edit"></span> ' . Text::_('COM_COMPONENTBUILDER_EDIT') . ' ' .$object->system_name . '</a></p>';
|
|
||||||
// now return the diplay
|
// Edit button
|
||||||
|
$html[] = '<p>';
|
||||||
|
$html[] = '<a href="index.php?option=com_componentbuilder&ref=compiler&view=joomla_components&task=joomla_component.edit&id=' . (int) $object->id . '" class="btn btn-primary btn-block">';
|
||||||
|
$html[] = '<span class="icon-edit"></span> ' . Text::_('COM_COMPONENTBUILDER_EDIT') . ' ' . htmlspecialchars($object->system_name, ENT_QUOTES);
|
||||||
|
$html[] = '</a>';
|
||||||
|
$html[] = '</p>';
|
||||||
|
|
||||||
|
$html[] = '</div>'; // Close component-details
|
||||||
|
|
||||||
return implode("\n", $html);
|
return implode("\n", $html);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1595,7 +1634,7 @@ class ComponentbuilderModelAjax extends ListModel
|
|||||||
* @var array
|
* @var array
|
||||||
* @since 3.0.13
|
* @since 3.0.13
|
||||||
*/
|
*/
|
||||||
protected $viewid = [];
|
protected array $viewid = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the view details via the session
|
* Get the view details via the session
|
||||||
@ -1615,7 +1654,7 @@ class ComponentbuilderModelAjax extends ListModel
|
|||||||
if ($vdm)
|
if ($vdm)
|
||||||
{
|
{
|
||||||
// set view and id
|
// set view and id
|
||||||
if ($view = ComponentbuilderHelper::get($vdm))
|
if (($view = SessionHelper::get($vdm)) !== null)
|
||||||
{
|
{
|
||||||
$current = (array) explode('__', $view);
|
$current = (array) explode('__', $view);
|
||||||
if (StringHelper::check($current[0]) && isset($current[1]) && is_numeric($current[1]))
|
if (StringHelper::check($current[0]) && isset($current[1]) && is_numeric($current[1]))
|
||||||
@ -1628,7 +1667,7 @@ class ComponentbuilderModelAjax extends ListModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// set GUID if found
|
// set GUID if found
|
||||||
if (($guid = ComponentbuilderHelper::get($vdm . '__guid')) !== false)
|
if (($guid = SessionHelper::get($vdm . '__guid')) !== null)
|
||||||
{
|
{
|
||||||
if (GuidHelper::valid($guid))
|
if (GuidHelper::valid($guid))
|
||||||
{
|
{
|
||||||
@ -1636,7 +1675,7 @@ class ComponentbuilderModelAjax extends ListModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// set return if found
|
// set return if found
|
||||||
if (($return = ComponentbuilderHelper::get($vdm . '__return')) !== false)
|
if (($return = SessionHelper::get($vdm . '__return')) !== null)
|
||||||
{
|
{
|
||||||
if (StringHelper::check($return))
|
if (StringHelper::check($return))
|
||||||
{
|
{
|
||||||
@ -1948,15 +1987,15 @@ class ComponentbuilderModelAjax extends ListModel
|
|||||||
{
|
{
|
||||||
// check if we have GUID setup
|
// check if we have GUID setup
|
||||||
$validGUID = function ($guid) {
|
$validGUID = function ($guid) {
|
||||||
if (method_exists('ComponentbuilderHelper', 'validGUID') && ComponentbuilderHelper::validGUID($guid))
|
if (method_exists(ComponentbuilderHelper::class, 'validGUID') && ComponentbuilderHelper::validGUID($guid))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
// check if functions exists
|
// check if functions exists
|
||||||
$guidEdit = method_exists('ComponentbuilderHelper', 'getEditButtonGUID');
|
$guidEdit = method_exists(ComponentbuilderHelper::class, 'getEditButtonGUID');
|
||||||
$getEdit = method_exists('ComponentbuilderHelper', 'getEditButton');
|
$getEdit = method_exists(ComponentbuilderHelper::class, 'getEditButton');
|
||||||
// reset bucket
|
// reset bucket
|
||||||
$bucket = array();
|
$bucket = array();
|
||||||
if (UtilitiesArrayHelper::check($value))
|
if (UtilitiesArrayHelper::check($value))
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -118,7 +119,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('class_extends__'.$id))
|
if (($vdm = SessionHelper::get('class_extends__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -126,17 +127,17 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
SessionHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||||
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
|
SessionHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -195,7 +196,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('class_extends__'.$id))
|
if (($vdm = SessionHelper::get('class_extends__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -203,17 +204,17 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
SessionHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||||
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
|
SessionHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -122,7 +123,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('class_method__'.$id))
|
if (($vdm = SessionHelper::get('class_method__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -130,17 +131,17 @@ class ComponentbuilderModelClass_method extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
|
SessionHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||||
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
|
SessionHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -205,7 +206,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('class_method__'.$id))
|
if (($vdm = SessionHelper::get('class_method__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -213,17 +214,17 @@ class ComponentbuilderModelClass_method extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
|
SessionHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||||
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
|
SessionHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -554,7 +555,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
|||||||
// change to false
|
// change to false
|
||||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||||
// also clear the data set
|
// also clear the data set
|
||||||
$data[$requiredField] = '';
|
unset($data[$requiredField]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -119,7 +120,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('class_property__'.$id))
|
if (($vdm = SessionHelper::get('class_property__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -127,17 +128,17 @@ class ComponentbuilderModelClass_property extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
|
SessionHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||||
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
|
SessionHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -196,7 +197,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('class_property__'.$id))
|
if (($vdm = SessionHelper::get('class_property__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -204,17 +205,17 @@ class ComponentbuilderModelClass_property extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
|
SessionHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||||
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
|
SessionHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -545,7 +546,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
|||||||
// change to false
|
// change to false
|
||||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||||
// also clear the data set
|
// also clear the data set
|
||||||
$data[$requiredField] = '';
|
unset($data[$requiredField]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,10 @@ use Joomla\Utilities\ArrayHelper;
|
|||||||
use VDM\Joomla\Componentbuilder\Compiler\Helper\Compiler;
|
use VDM\Joomla\Componentbuilder\Compiler\Helper\Compiler;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||||
use VDM\Joomla\Utilities\JsonHelper;
|
use VDM\Joomla\Utilities\JsonHelper;
|
||||||
|
use Joomla\CMS\Filesystem\Folder;
|
||||||
|
use Joomla\CMS\Filesystem\File;
|
||||||
|
use Joomla\CMS\Installer\InstallerHelper;
|
||||||
|
use Joomla\CMS\Installer\Installer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Componentbuilder List Model for Compiler
|
* Componentbuilder List Model for Compiler
|
||||||
@ -162,7 +166,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
|||||||
jimport('joomla.filesystem.folder');
|
jimport('joomla.filesystem.folder');
|
||||||
jimport('joomla.filesystem.file');
|
jimport('joomla.filesystem.file');
|
||||||
|
|
||||||
if (JFolder::exists($dir))
|
if (is_dir($dir))
|
||||||
{
|
{
|
||||||
$it = new RecursiveDirectoryIterator($dir);
|
$it = new RecursiveDirectoryIterator($dir);
|
||||||
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
|
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
|
||||||
@ -171,19 +175,19 @@ class ComponentbuilderModelCompiler extends ListModel
|
|||||||
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
|
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
|
||||||
if ($file->isDir())
|
if ($file->isDir())
|
||||||
{
|
{
|
||||||
JFolder::delete($file->getPathname());
|
Folder::delete($file->getPathname());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($file->getBasename() !== 'index.html')
|
if ($file->getBasename() !== 'index.html')
|
||||||
{
|
{
|
||||||
JFile::delete($file->getPathname());
|
File::delete($file->getPathname());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($removeDir)
|
if ($removeDir)
|
||||||
{
|
{
|
||||||
if (JFolder::delete($dir))
|
if (Folder::delete($dir))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -228,7 +232,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
|||||||
$tmp_dest = $config->get('tmp_path');
|
$tmp_dest = $config->get('tmp_path');
|
||||||
|
|
||||||
// Unpack the downloaded package file.
|
// Unpack the downloaded package file.
|
||||||
$package = JInstallerHelper::unpack($tmp_dest . '/' . $p_file, true);
|
$package = InstallerHelper::unpack($tmp_dest . '/' . $p_file, true);
|
||||||
|
|
||||||
// insure the install type is folder (JCB zip file is in the folder)
|
// insure the install type is folder (JCB zip file is in the folder)
|
||||||
$installType = 'folder';
|
$installType = 'folder';
|
||||||
@ -253,7 +257,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get an installer instance.
|
// Get an installer instance.
|
||||||
$installer = JInstaller::getInstance();
|
$installer = Installer::getInstance();
|
||||||
|
|
||||||
// Install the package.
|
// Install the package.
|
||||||
if (!$installer->install($package['dir']))
|
if (!$installer->install($package['dir']))
|
||||||
@ -290,7 +294,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
|||||||
$package['packagefile'] = $config->get('tmp_path') . '/' . $package['packagefile'];
|
$package['packagefile'] = $config->get('tmp_path') . '/' . $package['packagefile'];
|
||||||
}
|
}
|
||||||
|
|
||||||
JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']);
|
InstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']);
|
||||||
|
|
||||||
// Clear the cached extension data and menu cache
|
// Clear the cached extension data and menu cache
|
||||||
$this->cleanCache('_system', 0);
|
$this->cleanCache('_system', 0);
|
||||||
@ -308,10 +312,10 @@ class ComponentbuilderModelCompiler extends ListModel
|
|||||||
/**
|
/**
|
||||||
* Get all components in the system
|
* Get all components in the system
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array|null
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
**/
|
**/
|
||||||
public function getComponents(): array
|
public function getComponents(): ?array
|
||||||
{
|
{
|
||||||
// Get a db connection.
|
// Get a db connection.
|
||||||
$db = $this->getDbo();
|
$db = $this->getDbo();
|
||||||
@ -334,10 +338,9 @@ class ComponentbuilderModelCompiler extends ListModel
|
|||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
|
|
||||||
// return the result
|
// return the result
|
||||||
return $db->loadObjectList();
|
return $db->loadObjectList() ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all dynamic content
|
* Get all dynamic content
|
||||||
*
|
*
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -122,7 +123,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('component_dashboard__'.$id))
|
if (($vdm = SessionHelper::get('component_dashboard__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -130,17 +131,17 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
SessionHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||||
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
SessionHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -201,7 +202,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('component_dashboard__'.$id))
|
if (($vdm = SessionHelper::get('component_dashboard__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -209,17 +210,17 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
SessionHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||||
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
SessionHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// update the fields
|
// update the fields
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -123,7 +124,7 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('component_router__'.$id))
|
if (($vdm = SessionHelper::get('component_router__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -131,17 +132,17 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_router__'.$id);
|
SessionHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||||
ComponentbuilderHelper::set('component_router__'.$id, $this->vastDevMod);
|
SessionHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -214,7 +215,7 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('component_router__'.$id))
|
if (($vdm = SessionHelper::get('component_router__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -222,17 +223,17 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_router__'.$id);
|
SessionHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||||
ComponentbuilderHelper::set('component_router__'.$id, $this->vastDevMod);
|
SessionHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -455,97 +455,6 @@ class ComponentbuilderModelComponentbuilder extends ListModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function getNoticeboard()
|
|
||||||
{
|
|
||||||
// get the document to load the scripts
|
|
||||||
$document = Factory::getDocument();
|
|
||||||
Html::_('script', "media/com_componentbuilder/js/marked.js", ['version' => 'auto']);
|
|
||||||
$document->addScriptDeclaration('
|
|
||||||
var token = "' . Session::getFormToken() . '";
|
|
||||||
var noticeboard = "https://vdm.bz/componentbuilder-noticeboard-md";
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
fetch(noticeboard)
|
|
||||||
.then(response => {
|
|
||||||
if (!response.ok) {
|
|
||||||
throw new Error("Network response was not ok");
|
|
||||||
}
|
|
||||||
return response.text();
|
|
||||||
})
|
|
||||||
.then(board => {
|
|
||||||
if (board.length > 5) {
|
|
||||||
document.getElementById("noticeboard-md").innerHTML = marked.parse(board);
|
|
||||||
getIS(1, board)
|
|
||||||
.then(result => {
|
|
||||||
if (result) {
|
|
||||||
document.querySelectorAll("#cpanel_tabTabs a").forEach(link => {
|
|
||||||
if (link.href.includes("#vast_development_method") || link.href.includes("#notice_board")) {
|
|
||||||
var textVDM = link.textContent;
|
|
||||||
link.innerHTML = "<span class=\"label label-important vdm-new-notice\">1</span> " + textVDM;
|
|
||||||
link.id = "vdm-new-notice";
|
|
||||||
document.getElementById("vdm-new-notice").addEventListener("click", () => {
|
|
||||||
getIS(2, board)
|
|
||||||
.then(result => {
|
|
||||||
if (result) {
|
|
||||||
document.querySelectorAll(".vdm-new-notice").forEach(element => {
|
|
||||||
element.style.opacity = 0;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
document.getElementById("noticeboard-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER').'.";
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
console.error("There was an error!", error);
|
|
||||||
document.getElementById("noticeboard-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER').'.";
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// to check is READ/NEW
|
|
||||||
function getIS(type, notice) {
|
|
||||||
let getUrl = "";
|
|
||||||
if (type === 1) {
|
|
||||||
getUrl = "index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true";
|
|
||||||
} else if (type === 2) {
|
|
||||||
getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true";
|
|
||||||
}
|
|
||||||
let request = new URLSearchParams();
|
|
||||||
if (token.length > 0 && notice.length) {
|
|
||||||
request.append(token, "1");
|
|
||||||
request.append("notice", notice);
|
|
||||||
}
|
|
||||||
return fetch(getUrl, {
|
|
||||||
method: "POST",
|
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
|
|
||||||
},
|
|
||||||
body: request
|
|
||||||
}).then(response => response.json());
|
|
||||||
}
|
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
document.querySelectorAll(".loading-dots").forEach(function(loading_dots) {
|
|
||||||
let x = 0;
|
|
||||||
let intervalId = setInterval(function() {
|
|
||||||
if (!loading_dots.classList.contains("loading-dots")) {
|
|
||||||
clearInterval(intervalId);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
let dots = ".".repeat(x % 8);
|
|
||||||
loading_dots.textContent = dots;
|
|
||||||
x++;
|
|
||||||
}, 500);
|
|
||||||
});
|
|
||||||
});');
|
|
||||||
|
|
||||||
return '<div id="noticeboard-md">'.Text::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getReadme()
|
public function getReadme()
|
||||||
{
|
{
|
||||||
$document = Factory::getDocument();
|
$document = Factory::getDocument();
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -180,7 +181,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
if (($vdm = SessionHelper::get('custom_admin_view__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -188,17 +189,17 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
SessionHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||||
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
SessionHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -349,7 +350,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
if (($vdm = SessionHelper::get('custom_admin_view__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -357,17 +358,17 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
SessionHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||||
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
SessionHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -503,6 +504,9 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update the ajax_input (sub form) layout
|
||||||
|
$form->setFieldAttribute('ajax_input', 'layout', ComponentbuilderHelper::getSubformLayout('custom_admin_view', 'ajax_input'));
|
||||||
|
|
||||||
// update all editors to use this components global editor
|
// update all editors to use this components global editor
|
||||||
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
||||||
// now get all the editor fields
|
// now get all the editor fields
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -134,7 +135,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('custom_code__'.$id))
|
if (($vdm = SessionHelper::get('custom_code__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -142,17 +143,17 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
SessionHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||||
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
|
SessionHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -205,7 +206,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('custom_code__'.$id))
|
if (($vdm = SessionHelper::get('custom_code__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -213,17 +214,17 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
SessionHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||||
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
|
SessionHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -547,7 +548,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
|||||||
// change to false
|
// change to false
|
||||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||||
// also clear the data set
|
// also clear the data set
|
||||||
$data[$requiredField] = '';
|
unset($data[$requiredField]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -174,7 +175,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
if (($vdm = SessionHelper::get('dynamic_get__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -182,17 +183,17 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
SessionHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||||
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
SessionHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -349,7 +350,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
if (($vdm = SessionHelper::get('dynamic_get__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -357,17 +358,17 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
SessionHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||||
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
SessionHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -738,7 +739,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
|||||||
// change to false
|
// change to false
|
||||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||||
// also clear the data set
|
// also clear the data set
|
||||||
$data[$requiredField] = '';
|
unset($data[$requiredField]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
|||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
use Joomla\CMS\Helper\TagsHelper;
|
use Joomla\CMS\Helper\TagsHelper;
|
||||||
|
use VDM\Joomla\Utilities\SessionHelper;
|
||||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||||
use VDM\Joomla\Utilities\ObjectHelper;
|
use VDM\Joomla\Utilities\ObjectHelper;
|
||||||
use VDM\Joomla\Utilities\GuidHelper;
|
use VDM\Joomla\Utilities\GuidHelper;
|
||||||
@ -167,7 +168,7 @@ class ComponentbuilderModelField extends AdminModel
|
|||||||
$id = $_id;
|
$id = $_id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
if (($vdm = SessionHelper::get('field__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -175,17 +176,17 @@ class ComponentbuilderModelField extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
|
SessionHelper::set($this->vastDevMod, 'field__'.$id);
|
||||||
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
|
SessionHelper::set('field__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -286,7 +287,7 @@ class ComponentbuilderModelField extends AdminModel
|
|||||||
$id = $item->id;
|
$id = $item->id;
|
||||||
}
|
}
|
||||||
// set the id and view name to session
|
// set the id and view name to session
|
||||||
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
if (($vdm = SessionHelper::get('field__'.$id)) !== null)
|
||||||
{
|
{
|
||||||
$this->vastDevMod = $vdm;
|
$this->vastDevMod = $vdm;
|
||||||
}
|
}
|
||||||
@ -294,17 +295,17 @@ class ComponentbuilderModelField extends AdminModel
|
|||||||
{
|
{
|
||||||
// set the vast development method key
|
// set the vast development method key
|
||||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||||
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
|
SessionHelper::set($this->vastDevMod, 'field__'.$id);
|
||||||
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
|
SessionHelper::set('field__'.$id, $this->vastDevMod);
|
||||||
// set a return value if found
|
// set a return value if found
|
||||||
$jinput = Factory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||||
// set a GUID value if found
|
// set a GUID value if found
|
||||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||||
&& GuidHelper::valid($item->guid))
|
&& GuidHelper::valid($item->guid))
|
||||||
{
|
{
|
||||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -633,7 +634,7 @@ class ComponentbuilderModelField extends AdminModel
|
|||||||
// change to false
|
// change to false
|
||||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||||
// also clear the data set
|
// also clear the data set
|
||||||
$data[$requiredField] = '';
|
unset($data[$requiredField]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ class JFormFieldAdminsviews extends JFormFieldList
|
|||||||
*/
|
*/
|
||||||
protected function getOptions()
|
protected function getOptions()
|
||||||
{
|
{
|
||||||
$db = JFactory::getDBO();
|
$db = Factory::getDBO();
|
||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','adminviews_system_name')));
|
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','adminviews_system_name')));
|
||||||
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
|
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
|
||||||
@ -52,7 +52,7 @@ class JFormFieldAdminsviews extends JFormFieldList
|
|||||||
{
|
{
|
||||||
foreach($items as $item)
|
foreach($items as $item)
|
||||||
{
|
{
|
||||||
$options[] = JHtml::_('select.option', $item->id, $item->adminviews_system_name);
|
$options[] = Html::_('select.option', $item->id, $item->adminviews_system_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ use Joomla\CMS\Factory;
|
|||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
use VDM\Joomla\Utilities\StringHelper;
|
use VDM\Joomla\Utilities\StringHelper;
|
||||||
|
use Joomla\CMS\Filesystem\Folder;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -49,7 +50,7 @@ class JFormFieldAdminviewfolderlist extends JFormFieldList
|
|||||||
// now check if there are files in the folder
|
// now check if there are files in the folder
|
||||||
foreach ($localfolders as $localfolder)
|
foreach ($localfolders as $localfolder)
|
||||||
{
|
{
|
||||||
if (is_dir($localfolder) && $folders = \Joomla\Filesystem\Folder::folders($localfolder))
|
if (is_dir($localfolder) && $folders = Folder::folders($localfolder))
|
||||||
{
|
{
|
||||||
if ($this->multiple === false)
|
if ($this->multiple === false)
|
||||||
{
|
{
|
||||||
@ -57,7 +58,7 @@ class JFormFieldAdminviewfolderlist extends JFormFieldList
|
|||||||
}
|
}
|
||||||
foreach ($folders as $folder)
|
foreach ($folders as $folder)
|
||||||
{
|
{
|
||||||
$options[] = Html::_('select.option', $folder, StringHelper::safe($folder, 'W'));
|
$options[] = Html::_('select.option', StringHelper::safe($folder), StringHelper::safe($folder, 'W'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,8 @@ class JFormFieldAdminviews extends JFormFieldList
|
|||||||
*/
|
*/
|
||||||
protected function getOptions()
|
protected function getOptions()
|
||||||
{
|
{
|
||||||
$db = JFactory::getDBO();
|
// Get the database object.
|
||||||
|
$db = Factory::getDBO();
|
||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','adminview_system_name')));
|
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','adminview_system_name')));
|
||||||
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
|
$query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
|
||||||
@ -47,16 +48,18 @@ $query->where($db->quoteName('a.published') . ' >= 1');
|
|||||||
$query->order('a.system_name ASC');
|
$query->order('a.system_name ASC');
|
||||||
$db->setQuery((string)$query);
|
$db->setQuery((string)$query);
|
||||||
$items = $db->loadObjectList();
|
$items = $db->loadObjectList();
|
||||||
$options = array();
|
$options = [];
|
||||||
if ($items)
|
if ($items)
|
||||||
{
|
{
|
||||||
$options[] = JHtml::_('select.option', '', 'Select an option');
|
if ($this->multiple === false)
|
||||||
|
{
|
||||||
|
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||||
|
}
|
||||||
foreach($items as $item)
|
foreach($items as $item)
|
||||||
{
|
{
|
||||||
$options[] = JHtml::_('select.option', $item->id, $item->adminview_system_name);
|
$options[] = Html::_('select.option', $item->id, $item->adminview_system_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $options;
|
return $options;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldClassextends extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldClasspowers extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
171
admin/models/fields/cron_servers.php
Normal file
171
admin/models/fields/cron_servers.php
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 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\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
|
// import the list field type
|
||||||
|
jimport('joomla.form.helper');
|
||||||
|
JFormHelper::loadFieldClass('list');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cron_servers Form Field class for the Componentbuilder component
|
||||||
|
*/
|
||||||
|
class JFormFieldCron_servers extends JFormFieldList
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The cron_servers field type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $type = 'cron_servers';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override to add new button
|
||||||
|
*
|
||||||
|
* @return string The field input markup.
|
||||||
|
*
|
||||||
|
* @since 3.2
|
||||||
|
*/
|
||||||
|
protected function getInput()
|
||||||
|
{
|
||||||
|
// see if we should add buttons
|
||||||
|
$set_button = $this->getAttribute('button');
|
||||||
|
// get html
|
||||||
|
$html = parent::getInput();
|
||||||
|
// if true set button
|
||||||
|
if ($set_button === 'true')
|
||||||
|
{
|
||||||
|
$button = array();
|
||||||
|
$script = array();
|
||||||
|
$button_code_name = $this->getAttribute('name');
|
||||||
|
// get the input from url
|
||||||
|
$app = Factory::getApplication();
|
||||||
|
$jinput = $app->input;
|
||||||
|
// get the view name & id
|
||||||
|
$values = $jinput->getArray(array(
|
||||||
|
'id' => 'int',
|
||||||
|
'view' => 'word'
|
||||||
|
));
|
||||||
|
// check if new item
|
||||||
|
$ref = '';
|
||||||
|
$refJ = '';
|
||||||
|
if (!is_null($values['id']) && strlen($values['view']))
|
||||||
|
{
|
||||||
|
// only load referral if not new item.
|
||||||
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
|
// get the return value.
|
||||||
|
$_uri = (string) Uri::getInstance();
|
||||||
|
$_return = urlencode(base64_encode($_uri));
|
||||||
|
// load return value.
|
||||||
|
$ref .= '&return=' . $_return;
|
||||||
|
$refJ .= '&return=' . $_return;
|
||||||
|
}
|
||||||
|
// get button label
|
||||||
|
$button_label = trim($button_code_name);
|
||||||
|
$button_label = preg_replace('/_+/', ' ', $button_label);
|
||||||
|
$button_label = preg_replace('/\s+/', ' ', $button_label);
|
||||||
|
$button_label = preg_replace("/[^A-Za-z ]/", '', $button_label);
|
||||||
|
$button_label = ucfirst(strtolower($button_label));
|
||||||
|
// get user object
|
||||||
|
$user = Factory::getUser();
|
||||||
|
// only add if user allowed to create server
|
||||||
|
if ($user->authorise('server.create', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
|
||||||
|
{
|
||||||
|
// build Create button
|
||||||
|
$button[] = '<a id="'.$button_code_name.'Create" class="btn btn-small btn-success hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_CREATE_NEW_S', $button_label).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
|
||||||
|
href="index.php?option=com_componentbuilder&view=server&layout=edit'.$ref.'" >
|
||||||
|
<span class="icon-new icon-white"></span></a>';
|
||||||
|
}
|
||||||
|
// only add if user allowed to edit server
|
||||||
|
if ($user->authorise('server.edit', 'com_componentbuilder') && $app->isClient('administrator')) // TODO for now only in admin area.
|
||||||
|
{
|
||||||
|
// build edit button
|
||||||
|
$button[] = '<a id="'.$button_code_name.'Edit" class="btn btn-small hasTooltip" title="'.Text::sprintf('COM_COMPONENTBUILDER_EDIT_S', $button_label).'" style="display: none; padding: 3px 4px 4px 7px;" href="#" >
|
||||||
|
<span class="icon-edit"></span></a>';
|
||||||
|
// build script
|
||||||
|
$script[] = "
|
||||||
|
jQuery(document).ready(function() {
|
||||||
|
jQuery('#adminForm').on('change', '#jform_".$button_code_name."',function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var ".$button_code_name."Value = jQuery('#jform_".$button_code_name."').val();
|
||||||
|
".$button_code_name."Button(".$button_code_name."Value);
|
||||||
|
});
|
||||||
|
var ".$button_code_name."Value = jQuery('#jform_".$button_code_name."').val();
|
||||||
|
".$button_code_name."Button(".$button_code_name."Value);
|
||||||
|
});
|
||||||
|
function ".$button_code_name."Button(value) {
|
||||||
|
if (value > 0) {
|
||||||
|
// hide the create button
|
||||||
|
jQuery('#".$button_code_name."Create').hide();
|
||||||
|
// show edit button
|
||||||
|
jQuery('#".$button_code_name."Edit').show();
|
||||||
|
var url = 'index.php?option=com_componentbuilder&view=servers&task=server.edit&id='+value+'".$refJ."';
|
||||||
|
jQuery('#".$button_code_name."Edit').attr('href', url);
|
||||||
|
} else {
|
||||||
|
// show the create button
|
||||||
|
jQuery('#".$button_code_name."Create').show();
|
||||||
|
// hide edit button
|
||||||
|
jQuery('#".$button_code_name."Edit').hide();
|
||||||
|
}
|
||||||
|
}";
|
||||||
|
}
|
||||||
|
// check if button was created for server field.
|
||||||
|
if (is_array($button) && count($button) > 0)
|
||||||
|
{
|
||||||
|
// Load the needed script.
|
||||||
|
$document = Factory::getDocument();
|
||||||
|
$document->addScriptDeclaration(implode(' ',$script));
|
||||||
|
// return the button attached to input field.
|
||||||
|
return '<div class="input-append">' .$html . implode('',$button).'</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $html;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to get a list of options for a list input.
|
||||||
|
*
|
||||||
|
* @return array An array of Html options.
|
||||||
|
*/
|
||||||
|
protected function getOptions()
|
||||||
|
{
|
||||||
|
// Get the databse object.
|
||||||
|
$db = Factory::getDBO();
|
||||||
|
$query = $db->getQuery(true);
|
||||||
|
$query->select($db->quoteName(array('a.id','a.name','a.protocol'),array('id','cronjob_backup_server_name', 'protocol')));
|
||||||
|
$query->from($db->quoteName('#__componentbuilder_server', 'a'));
|
||||||
|
$query->where($db->quoteName('a.published') . ' >= 1');
|
||||||
|
$query->order('a.name ASC');
|
||||||
|
$db->setQuery((string)$query);
|
||||||
|
$items = $db->loadObjectList();
|
||||||
|
$options = [];
|
||||||
|
if ($items)
|
||||||
|
{
|
||||||
|
if ($this->multiple === false)
|
||||||
|
{
|
||||||
|
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||||
|
}
|
||||||
|
foreach($items as $item)
|
||||||
|
{
|
||||||
|
$item->protocol = ($item->protocol == 2) ? Text::_('SFTP') : Text::_('FTP');
|
||||||
|
$options[] = Html::_('select.option', $item->id, $item->cronjob_backup_server_name .' ['.$item->protocol.']');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $options;
|
||||||
|
}
|
||||||
|
}
|
@ -39,7 +39,8 @@ class JFormFieldCustomadminviews extends JFormFieldList
|
|||||||
*/
|
*/
|
||||||
protected function getOptions()
|
protected function getOptions()
|
||||||
{
|
{
|
||||||
$db = JFactory::getDBO();
|
// Get the databse object.
|
||||||
|
$db = Factory::getDBO();
|
||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','customadminview_system_name')));
|
$query->select($db->quoteName(array('a.id','a.system_name'),array('id','customadminview_system_name')));
|
||||||
$query->from($db->quoteName('#__componentbuilder_custom_admin_view', 'a'));
|
$query->from($db->quoteName('#__componentbuilder_custom_admin_view', 'a'));
|
||||||
@ -47,13 +48,16 @@ class JFormFieldCustomadminviews extends JFormFieldList
|
|||||||
$query->order('a.system_name ASC');
|
$query->order('a.system_name ASC');
|
||||||
$db->setQuery((string)$query);
|
$db->setQuery((string)$query);
|
||||||
$items = $db->loadObjectList();
|
$items = $db->loadObjectList();
|
||||||
$options = array();
|
$options = [];
|
||||||
if ($items)
|
if ($items)
|
||||||
{
|
{
|
||||||
$options[] = JHtml::_('select.option', '', 'Select an option');
|
if ($this->multiple === false)
|
||||||
|
{
|
||||||
|
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||||
|
}
|
||||||
foreach($items as $item)
|
foreach($items as $item)
|
||||||
{
|
{
|
||||||
$options[] = JHtml::_('select.option', $item->id, $item->customadminview_system_name);
|
$options[] = Html::_('select.option', $item->id, $item->customadminview_system_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $options;
|
return $options;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Filesystem\Folder;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -44,12 +45,12 @@ class JFormFieldCustomfilelist extends JFormFieldList
|
|||||||
// set the default
|
// set the default
|
||||||
$options[] = Html::_('select.option', '', Text::sprintf('COM_COMPONENTBUILDER_PLEASE_ADD_FILES_TO_S',$localfolder));
|
$options[] = Html::_('select.option', '', Text::sprintf('COM_COMPONENTBUILDER_PLEASE_ADD_FILES_TO_S',$localfolder));
|
||||||
// setup the folder if it does not exist
|
// setup the folder if it does not exist
|
||||||
if (!\JFolder::exists($localfolder))
|
if (!is_dir($localfolder))
|
||||||
{
|
{
|
||||||
\JFolder::create($localfolder);
|
Folder::create($localfolder);
|
||||||
}
|
}
|
||||||
// now check if there are files in the folder
|
// now check if there are files in the folder
|
||||||
if ($files = \JFolder::files($localfolder))
|
if ($files = Folder::files($localfolder))
|
||||||
{
|
{
|
||||||
$options = array();
|
$options = array();
|
||||||
foreach ($files as $file)
|
foreach ($files as $file)
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldDynamicget extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -39,25 +39,29 @@ class JFormFieldDynamicgets extends JFormFieldList
|
|||||||
*/
|
*/
|
||||||
protected function getOptions()
|
protected function getOptions()
|
||||||
{
|
{
|
||||||
$db = JFactory::getDBO();
|
// Get the databse object.
|
||||||
|
$db = Factory::getDBO();
|
||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
$query->select($db->quoteName(array('a.id','a.name','a.gettype'),array('id','dynamic_get_name','type')));
|
$query->select($db->quoteName(array('a.id','a.name','a.gettype'),array('id','dynamic_get_name','type')));
|
||||||
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
|
$query->from($db->quoteName('#__componentbuilder_dynamic_get', 'a'));
|
||||||
$query->where($db->quoteName('a.published') . ' = 1');
|
$query->where($db->quoteName('a.published') . ' >= 1');
|
||||||
$query->order('a.name ASC');
|
$query->order('a.name ASC');
|
||||||
$db->setQuery((string)$query);
|
$db->setQuery((string)$query);
|
||||||
$items = $db->loadObjectList();
|
$items = $db->loadObjectList();
|
||||||
$options = array();
|
$options = [];
|
||||||
if ($items)
|
if ($items)
|
||||||
{
|
{
|
||||||
$model = ComponentbuilderHelper::getModel('dynamic_gets');
|
$model = ComponentbuilderHelper::getModel('dynamic_gets');
|
||||||
|
if ($this->multiple === false)
|
||||||
|
{
|
||||||
|
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||||
|
}
|
||||||
foreach($items as $item)
|
foreach($items as $item)
|
||||||
{
|
{
|
||||||
$type = $model->selectionTranslation($item->type, 'gettype');
|
$type = $model->selectionTranslation($item->type, 'gettype');
|
||||||
$options[] = JHtml::_('select.option', $item->id, $item->dynamic_get_name . ' (' . JText::_($type) . ')' );
|
$options[] = Html::_('select.option', $item->id, $item->dynamic_get_name . ' (' . Text::_($type) . ')');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $options;
|
return $options;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldFieldtypes extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldInterfacepowers extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldJoomlacomponent extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldJoomlaplugingroups extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldJoomlaplugins extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldLibraries extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
@ -68,7 +69,7 @@ class JFormFieldLibrariesx extends JFormFieldList
|
|||||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||||
// get the return value.
|
// get the return value.
|
||||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
$_uri = (string) Uri::getInstance();
|
||||||
$_return = urlencode(base64_encode($_uri));
|
$_return = urlencode(base64_encode($_uri));
|
||||||
// load return value.
|
// load return value.
|
||||||
$ref .= '&return=' . $_return;
|
$ref .= '&return=' . $_return;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user