Compare commits
114 Commits
Author | SHA1 | Date | |
---|---|---|---|
703e8e0133 | |||
147f2f4cb7 | |||
36647fca80 | |||
4ccc3523d7 | |||
8e44695716 | |||
82922eca5a | |||
9256633b37 | |||
8ebeb56d3e | |||
f71c689d46 | |||
0603c39cc1 | |||
fc8fabe298 | |||
045e6df2e2 | |||
29fef2cbea | |||
2fab51f611 | |||
22aa94ad9c | |||
6d24fcfd2b | |||
04ebefe98d | |||
6a96c3b2c1 | |||
c8b65b3b0b | |||
0cbe573fe0 | |||
9f05fb090f | |||
e4d8b043c2 | |||
c6a6e8266a | |||
25b59990b3 | |||
9db186ef73 | |||
b9860f7718 | |||
dbe4c858fd | |||
9284115e8d | |||
92a14a44f5 | |||
a4a4a2ab9a | |||
18545c5b8d | |||
0cbf3c0e71 | |||
c51ef999a9 | |||
fc6b04cb5c | |||
0c9a098335 | |||
aba1267f8e | |||
54d94753b4 | |||
b3199d2abb | |||
b37c57611f | |||
827641a3d4 | |||
a24b5a0757 | |||
8ab5f2daf4 | |||
2a9a66b8a7 | |||
59af18e13a | |||
0193ab735c | |||
00f14c3bba | |||
25b751a935 | |||
b2c9daa455 | |||
b988010b79 | |||
2b7b8f90e1 | |||
2f64eec95b | |||
8548530b6d | |||
ac3e230272 | |||
8deb178d7c | |||
4ef96e9931 | |||
4116d87799 | |||
1e286a7f6e | |||
e77ebd8e27 | |||
ece14672d1 | |||
87706b19bc | |||
ecc51c4871 | |||
44dacc36a0 | |||
a920cb429b | |||
87cd4305bb | |||
3c91a5cdbb | |||
ae9451292f | |||
e99899f6f1 | |||
a77eac9adf | |||
0d5597e37f | |||
407a8aa345 | |||
a325339501 | |||
df16b2e3ad | |||
d6c73987f5 | |||
737bd03e46 | |||
339aec221e | |||
7fa8964b44 | |||
7edbe20c33 | |||
e6c02a29f6 | |||
f44f385159 | |||
e8abe8e3cf | |||
e771e7d243 | |||
e614f2ec23 | |||
d28e4c74af | |||
a2ec013566 | |||
4217b22f67 | |||
6c42b5af61 | |||
1c7515d0f5 | |||
9f5c7deec8 | |||
7759738938 | |||
461edf5c3f | |||
9f30f30b9e | |||
f1cb398f7a | |||
f2ea22d0ad | |||
869a1879cb | |||
d4843d6696 | |||
9db33ad449 | |||
dcb4f86ee2 | |||
e6c8805143 | |||
5537a868e3 | |||
f4fccfe761 | |||
fca5bd5f42 | |||
c53ece2a2d | |||
d757e14fac | |||
1dddba0fc8 | |||
c5a85f167e | |||
4a32d3d50e | |||
0512af0f33 | |||
abe9b5d227 | |||
4928a8baaf | |||
f8ac247377 | |||
e7500b76eb | |||
a0fda76abd | |||
|
154cd5ae1e | ||
d4ffc3addc |
165
.gitea/ISSUE_TEMPLATE/a-bug.yml
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
name: Bug Report
|
||||||
|
about: Draft a report to aid in our Debugging efforts.
|
||||||
|
title: "[BUG]: "
|
||||||
|
labels:
|
||||||
|
- bug
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
We value your effort in reporting an bug! Your feedback is essential for us to address and fix the problem.
|
||||||
|
- type: textarea
|
||||||
|
id: what-happened
|
||||||
|
attributes:
|
||||||
|
label: What Happened?
|
||||||
|
description: Please provide a detailed description of the issue and explain what outcome you anticipate.
|
||||||
|
placeholder: Describe the issue you experienced.
|
||||||
|
value: ""
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: steps_to_reproduce
|
||||||
|
attributes:
|
||||||
|
label: Steps to reproduce the Bug
|
||||||
|
description: Please provide a detailed description of the steps to reproduce the issue you experienced.
|
||||||
|
placeholder: Describe the steps to reproduce the issue.
|
||||||
|
value: ""
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# Environment Details
|
||||||
|
- type: input
|
||||||
|
id: joomla_version_compiling
|
||||||
|
attributes:
|
||||||
|
label: Which Joomla version are you compiling in?
|
||||||
|
placeholder: e.g., v4.4.3,
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: php_version_compiling
|
||||||
|
attributes:
|
||||||
|
label: Which PHP version are you compiling in?
|
||||||
|
placeholder: e.g., v8.1,
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: joomla_versions_targeting
|
||||||
|
attributes:
|
||||||
|
label: Which Joomla versions are you targeting?
|
||||||
|
placeholder: e.g., v5.0.3,
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: php_version_targeting
|
||||||
|
attributes:
|
||||||
|
label: Which PHP version are you targeting?
|
||||||
|
placeholder: e.g., 8.2
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: apache_version_using
|
||||||
|
attributes:
|
||||||
|
label: Which Web server is JCB running on?
|
||||||
|
description: Please provide the full name of the web server on which you are running JCB.
|
||||||
|
placeholder: e.g., Apache 2.4
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: mysql_version_using
|
||||||
|
attributes:
|
||||||
|
label: Which Relational Database is JCB running on?
|
||||||
|
description: Please provide the full name of the database on which you are running JCB.
|
||||||
|
placeholder: e.g., Mysql 8.0, MariaDB 10.6,
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: os
|
||||||
|
attributes:
|
||||||
|
label: Which OS is JCB running on?
|
||||||
|
description: Please provide the full name of the OS on which you are running JCB.
|
||||||
|
placeholder: e.g. CentOS 8 sever,
|
||||||
|
value: ""
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: jcb_version
|
||||||
|
attributes:
|
||||||
|
label: Which JCB version are you using?
|
||||||
|
description: Please provide the full name of the JCB version you are using.
|
||||||
|
placeholder: e.g., v5.0.0-alpha3
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: area
|
||||||
|
attributes:
|
||||||
|
label: Where in JCB did this issue occur?
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- Compilation of a component
|
||||||
|
- Installation of a component
|
||||||
|
- Installation JCB pkg
|
||||||
|
- Installation of JCB plugins
|
||||||
|
- Compiler(admin_view)
|
||||||
|
- Dashboard(admin_view)
|
||||||
|
- Joomla Components(admin_views)
|
||||||
|
- Joomla Component(admin_view)
|
||||||
|
- Joomla Modules(admin_views)
|
||||||
|
- Joomla Module(admin_view)
|
||||||
|
- Joomla Plugins(admin_views)
|
||||||
|
- Joomla Plugin(admin_view)
|
||||||
|
- Power(admin_view)
|
||||||
|
- Powers(admin_views)
|
||||||
|
- Search(admin_view)
|
||||||
|
- Admin View(admin_view)
|
||||||
|
- Admin Views(admin_views)
|
||||||
|
- Custom Admin Views(admin_views)
|
||||||
|
- Site View(admin_view)
|
||||||
|
- Site Views(admin_views)
|
||||||
|
- Template(admin_view)
|
||||||
|
- Templates(admin_views)
|
||||||
|
- Layout(admin_view)
|
||||||
|
- Layouts(admin_views)
|
||||||
|
- Dynamic Get(admin_view)
|
||||||
|
- Dynamic Gets(admin_views)
|
||||||
|
- Custom Code(admin_view)
|
||||||
|
- Custom Codes(admin_views)
|
||||||
|
- Placeholder(admin_view)
|
||||||
|
- Placeholders(admin_views)
|
||||||
|
- Library(admin_view)
|
||||||
|
- Libraries(admin_views)
|
||||||
|
- Snippet(admin_view)
|
||||||
|
- Snippets(admin_views)
|
||||||
|
- Validation Rule(admin_view)
|
||||||
|
- Validation Rules(admin_views)
|
||||||
|
- Field(admin_view)
|
||||||
|
- Fields(admin_views)
|
||||||
|
- Fieldtypes(admin_views)
|
||||||
|
- Language Translations(admin_views)
|
||||||
|
- Server(admin_view)
|
||||||
|
- Servers(admin_views)
|
||||||
|
- Help Documents(admin_views)
|
||||||
|
- Other
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: browsers
|
||||||
|
attributes:
|
||||||
|
label: On which browsers did you encounter the issue?
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- Firefox
|
||||||
|
- Chrome
|
||||||
|
- Microsoft Edge
|
||||||
|
- Safari
|
||||||
|
- Opera
|
||||||
|
- Brave
|
||||||
|
- Vivaldi
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: comments
|
||||||
|
attributes:
|
||||||
|
label: Additional Comments
|
||||||
|
description: Feel free to include any further comments or pertinent details that might assist us.
|
81
.gitea/ISSUE_TEMPLATE/b-enhancement.yml
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
name: Enhancement Request
|
||||||
|
about: Suggest an idea for JCB
|
||||||
|
title: "[ENHANCEMENT]: "
|
||||||
|
labels:
|
||||||
|
- enhancement
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thank you for suggesting an enhancement! Your input is crucial for our innovation and progress. To assist us better, please share detailed information about your idea.
|
||||||
|
- type: textarea
|
||||||
|
id: enhancement-details
|
||||||
|
attributes:
|
||||||
|
label: Enhancement Details
|
||||||
|
description: Could you detail the enhancement you're suggesting? Explain the issue it addresses or the new feature it introduces.
|
||||||
|
placeholder: Please give an in-depth explanation of your proposed enhancement.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# Context and Priority
|
||||||
|
- type: dropdown
|
||||||
|
id: area
|
||||||
|
attributes:
|
||||||
|
label: Which part of the extension will be affected by this enhancement?
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- Compilation of component
|
||||||
|
- Installation of a component
|
||||||
|
- Installation JCB pkg
|
||||||
|
- Installation of JCB plugins
|
||||||
|
- Compiler(admin_view)
|
||||||
|
- Dashboard(admin_view)
|
||||||
|
- Joomla Components(admin_views)
|
||||||
|
- Joomla Component(admin_view)
|
||||||
|
- Joomla Modules(admin_views)
|
||||||
|
- Joomla Module(admin_view)
|
||||||
|
- Joomla Plugins(admin_views)
|
||||||
|
- Joomla Plugin(admin_view)
|
||||||
|
- Power(admin_view)
|
||||||
|
- Powers(admin_views)
|
||||||
|
- Search(admin_view)
|
||||||
|
- Admin View(admin_view)
|
||||||
|
- Admin Views(admin_views)
|
||||||
|
- Custom Admin Views(admin_views)
|
||||||
|
- Site View(admin_view)
|
||||||
|
- Site Views(admin_views)
|
||||||
|
- Template(admin_view)
|
||||||
|
- Templates(admin_views)
|
||||||
|
- Layout(admin_view)
|
||||||
|
- Layouts(admin_views)
|
||||||
|
- Dynamic Get(admin_view)
|
||||||
|
- Dynamic Gets(admin_views)
|
||||||
|
- Custom Code(admin_view)
|
||||||
|
- Custom Codes(admin_views)
|
||||||
|
- Placeholder(admin_view)
|
||||||
|
- Placeholders(admin_views)
|
||||||
|
- Library(admin_view)
|
||||||
|
- Libraries(admin_views)
|
||||||
|
- Snippet(admin_view)
|
||||||
|
- Snippets(admin_views)
|
||||||
|
- Validation Rule(admin_view)
|
||||||
|
- Validation Rules(admin_views)
|
||||||
|
- Field(admin_view)
|
||||||
|
- Fields(admin_views)
|
||||||
|
- Fieldtypes(admin_views)
|
||||||
|
- Language Translations(admin_views)
|
||||||
|
- Server(admin_view)
|
||||||
|
- Servers(admin_views)
|
||||||
|
- Help Documents(admin_views)
|
||||||
|
- Other
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Supply additional context or screenshots related to the enhancement request in this space.
|
||||||
|
validations:
|
||||||
|
required: false
|
45
.gitea/ISSUE_TEMPLATE/c-task.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
name: Task
|
||||||
|
about: Create a task for project management
|
||||||
|
title: "[TASK]: "
|
||||||
|
labels:
|
||||||
|
- task
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for setting up the task! Tasks assist us in arranging and ranking our work. Kindly provide comprehensive details about the task for clarity and efficient tracking.
|
||||||
|
- type: textarea
|
||||||
|
id: task-details
|
||||||
|
attributes:
|
||||||
|
label: Task Details
|
||||||
|
description: Please describe the task. What are the specific actions required?
|
||||||
|
placeholder: Provide a detailed description of the task.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# Task Context and Priority
|
||||||
|
- type: textarea
|
||||||
|
id: task-environment
|
||||||
|
attributes:
|
||||||
|
label: Task environment
|
||||||
|
description: Please provide the details of the environment in which this task will be completed.
|
||||||
|
placeholder: Describe the environment applicable to the task.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: task-objective
|
||||||
|
attributes:
|
||||||
|
label: Task Objective
|
||||||
|
description: What's the aim or purpose of this task? How will it contribute to the project or system's success?
|
||||||
|
placeholder: Describe the goal and anticipated result of the task.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Please share any extra context, files, or screenshots that could aid in comprehending or carrying out the task.
|
||||||
|
validations:
|
||||||
|
required: false
|
37
.gitea/ISSUE_TEMPLATE/d-docs.yml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: Documentation
|
||||||
|
about: Propose improvements to the documentation or highlight any issues found within it.
|
||||||
|
title: "[DOCUMENTATION]: "
|
||||||
|
labels:
|
||||||
|
- documentation
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
We appreciate your input on our documentation! Clear and comprehensive documentation plays a vital role in enabling users to effectively interact with our systems. To assist us in making improvements, kindly offer thorough details regarding your suggestion or the specific problem you've encountered.
|
||||||
|
- type: textarea
|
||||||
|
id: documentation-details
|
||||||
|
attributes:
|
||||||
|
label: Documentation Details
|
||||||
|
description: Please explain the specific problem with the documentation or the improvements you recommend. Is it a missing topic, unclear instructions, outdated content, or something else?
|
||||||
|
placeholder: Detail the issue with the documentation or suggest improvements..
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# Specific Context
|
||||||
|
- type: textarea
|
||||||
|
id: expected-outcome
|
||||||
|
attributes:
|
||||||
|
label: Expected Outcome
|
||||||
|
description: What outcomes do you anticipate from this change in documentation? How will it benifit the users or enhance the project?
|
||||||
|
placeholder: Explain the expected result of this change in the documentation.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Share any extra details, files, or screenshots that could help in understanding or applying the documentation change.
|
||||||
|
validations:
|
||||||
|
required: false
|
61
.gitea/ISSUE_TEMPLATE/e-performance.yml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
name: Performance Issue
|
||||||
|
about: Recommend or propose performance improvements
|
||||||
|
title: "[PERFORMANCE]: "
|
||||||
|
labels:
|
||||||
|
- performance
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Appreciation for tackling performance challenges! Optimizing performance is vital for our system's efficiency and the user experience. Could you offer more comprehensive details to aid in identifying and resolving the suggested performance issue or improvement?
|
||||||
|
- type: textarea
|
||||||
|
id: performance-details
|
||||||
|
attributes:
|
||||||
|
label: Performance Details
|
||||||
|
description: Please outline the performance problem or the enhancements you propose. Is it related to speed, resource usage, responsiveness, or something else?
|
||||||
|
placeholder: Offer an in-depth explanation of the performance challenge or improvement.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# Affected Systems and Context
|
||||||
|
- type: textarea
|
||||||
|
id: performance-environment
|
||||||
|
attributes:
|
||||||
|
label: Environment in which performance issue occurs
|
||||||
|
description: Provide a detailed description of the environment in which you are experiencing this perforamnce issue.
|
||||||
|
placeholder: Describe the environment of the preformance issue.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: replication-steps
|
||||||
|
attributes:
|
||||||
|
label: Steps to Replicate
|
||||||
|
description: If possible, share a step-by-step guide to replicate the performance problem.
|
||||||
|
placeholder: Explain how to replicate the problem.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: impact-assessment
|
||||||
|
attributes:
|
||||||
|
label: Impact Assessment
|
||||||
|
description: How does the performance problem impact the system or its users? How severe is its effect?
|
||||||
|
placeholder: Explain the impact of the performance problem.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: proposed-solutions
|
||||||
|
attributes:
|
||||||
|
label: Proposed Solutions or Ideas
|
||||||
|
description: If you have any suggestions or ideas for resolving the performance problem, please share them here.
|
||||||
|
placeholder: Share any potential solutions or improvement problem.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Provide any additional context, benchmarks, logs, or screenshots that might help in understanding or addressing the performance problem.
|
||||||
|
validations:
|
||||||
|
required: false
|
45
.gitea/ISSUE_TEMPLATE/f-refactor.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
name: Refactoring Task
|
||||||
|
about: Recommend or identify the necessity for code refactoring.
|
||||||
|
title: "[REFACTOR]: "
|
||||||
|
labels:
|
||||||
|
- refactor
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
We appreciate your commitment to enhancing the maintainability and quality of our codebase! Code refactoring plays a crucial role in ensuring our system remains efficient and easy to manage. To assist us effectively, please share comprehensive details about the refactoring task you are suggesting or identifying.
|
||||||
|
- type: textarea
|
||||||
|
id: refactoring-details
|
||||||
|
attributes:
|
||||||
|
label: Refactoring Details
|
||||||
|
description: Outline the refactoring task, specifying which code segment requires attention and the reasons behind this need. What improvements are expected from this refactoring?
|
||||||
|
placeholder: Provide an in-depth explanation of the refactoring task?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# Affected Components and Context
|
||||||
|
- type: textarea
|
||||||
|
id: area
|
||||||
|
attributes:
|
||||||
|
label: Which file or area of JCB needs refactoring?
|
||||||
|
description: Which area in JCB should be refactored?
|
||||||
|
placeholder: Give a road map where the refactoring should take place.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: expected-outcome
|
||||||
|
attributes:
|
||||||
|
label: Expected Outcome
|
||||||
|
description: What benefits do you anticipate from this refactoring? How will it enhance the codebase or overall system?
|
||||||
|
placeholder: Explain the expected results of this refactoring.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Share any further details or information, like code snippets, that could aid in comprehending or executing the refactoring task.
|
||||||
|
validations:
|
||||||
|
required: false
|
38
.gitea/ISSUE_TEMPLATE/g-security.yml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
name: Security Issue
|
||||||
|
about: Identify a possible security risk.
|
||||||
|
title: "[SECURITY]: "
|
||||||
|
labels:
|
||||||
|
- security
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
**⚠️ CRITICAL: Avoid sharing any sensitive or confidential details in this message.** Should you suspect a security flaw, please contact us directly at [joomla@vdm.io].
|
||||||
|
- type: textarea
|
||||||
|
id: security-general-description
|
||||||
|
attributes:
|
||||||
|
label: General Description
|
||||||
|
description: Offer a broad overview of the security concern, ensuring not to disclose any sensitive information.
|
||||||
|
placeholder: Provide a general description of the security problem.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# Affected Systems
|
||||||
|
- type: textarea
|
||||||
|
id: security-environment
|
||||||
|
attributes:
|
||||||
|
label: Environment affected by security issue.
|
||||||
|
description: Give a general description of the environment affected by this security issue.
|
||||||
|
placeholder: Describe the affected environment.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: non-sensitive-details
|
||||||
|
attributes:
|
||||||
|
label: Non-Sensitive Details
|
||||||
|
description: If applicable, please offer further non-sensitive information or general observations regarding the security concern.
|
||||||
|
placeholder: Provide any relevant non-sensitive details or observations.
|
||||||
|
validations:
|
||||||
|
required: false
|
21
.github/CONTRIBUTING.md
vendored
@ -1,24 +1,17 @@
|
|||||||
Contributing to the Joomla Component Builder (JCB)
|
Contributing to the Joomla Component Builder (JCB)
|
||||||
===============
|
===============
|
||||||
You are welcome to submit a contribution for review and possible inclusion in the Joomla Component Builder but, before it will be accepted, we ask that you follow these simple steps:
|
If you wish to submit a contribution for review and potential inclusion in the Joomla Component Builder (JCB), please follow these simple steps:
|
||||||
|
|
||||||
1) Please watch [these tutorials][Tutorials]
|
1) Open an issue on GitHub, and if possible, provide a fix and create a pull request (PR). Creating a PR automatically generates an issue so that you do not need to create one separately.
|
||||||
|
|
||||||
2) Open an issue on GitHub. If you can, please provide a fix and create a pull request (PR) instead; this will automatically create an issue for you so you do not have to create an issue if you are creating a pull request.
|
2) Adhere to the [Joomla! Coding Standards](https://developer.joomla.org/coding-standards.html).
|
||||||
|
|
||||||
3) Follow the [Joomla! Coding Standards][Standards].
|
3) When filing an issue or opening a PR, provide a clear and concise title and description. The title should include a brief summary of the issue and reference to an open issue if possible. For example, Invalid Query in com_admin (Ref #1234) is sufficient. Additionally, provide a detailed description of the issue or PR, including what the problem is, what the PR is addressing, testing instructions, and environmental information such as PHP version and database driver and version, in case the issue is specific to certain environments.
|
||||||
|
|
||||||
4) When filing an issue or opening a PR, please include a clear title and description. The title should be a short summary of an issue and, if possible, should include a reference to an open issue. For example, `Invalid Query in com_admin (Ref #1234)` would be sufficient. All issues and PRs should include a description with as much detail as possible.
|
4) Report security issues to the JCB! Core Team using the [Report security issues contact form](https://www.vdm.io/report-security-issues) instead of using public forums.
|
||||||
If it is a PR, include what the issue is, what the PR is addressing, testing instructions and environmental information (PHP version, database driver and version, and other data you can retrieve from your site's system information view) in case the issue is specific to certain environments. If additional information is needed, please be prepared to provide it as our community members review your submission.
|
|
||||||
|
|
||||||
5) Report security issues to the JCB! Core Team using the [Report security issues contact form][Security]. Please do not use the public forums for security issues.
|
Please be patient, as not all items will be immediately tested since all bug testing for the JCB is performed by volunteers. Additionally, be open to feedback regarding your code.
|
||||||
|
|
||||||
Please be patient as not all items will be tested immediately (remember, all bug testing for the JCB is done by volunteers) and be receptive to feedback about your code.
|
|
||||||
|
|
||||||
#### Branches
|
#### Branches
|
||||||
PRs should usually be made to the `staging` branch as this contains the most recent version of the code.
|
For PRs, submit to the staging branch as it contains the most up-to-date version of the code.
|
||||||
|
|
||||||
[Tutorials]: https://www.youtube.com/watch?v=lLOfx9YA7VQ&list=PLQRGFI8XZ_wsfz3NdKawCiYsALuZ-GhwJ
|
|
||||||
[Standards]: https://developer.joomla.org/coding-standards.html\
|
|
||||||
[Security]: http://joomlacomponentbuilder.com/report-security-issues
|
|
||||||
|
|
||||||
|
39
.github/SUPPORT.md
vendored
@ -1,27 +1,22 @@
|
|||||||
Where can you get support and help?
|
Where can you get support and help?
|
||||||
====================
|
====================
|
||||||
|
|
||||||
+ [The JCB Tutorials][Tutorials]
|
- [Package](https://git.vdm.dev/joomla/pkg-component-builder).
|
||||||
+ [Hello World Tutorial][HelloWorld]
|
- [Download](https://git.vdm.dev/joomla/pkg-component-builder/archive/master.zip).
|
||||||
+ [The JCB! Wiki][Wiki]
|
- [Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE).
|
||||||
+ [JCB Forum][forum]
|
- [German](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7).
|
||||||
+ [Report a Security Issue][Security]
|
- [Hello World](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45).
|
||||||
+ [Community Complaint][Complaint]
|
- [Discussions](https://github.com/vdm-io/Joomla-Component-Builder/discussions).
|
||||||
+ [Open Issue On Github][Issue] ^^
|
- [Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki).
|
||||||
|
- [Issues](https://git.vdm.dev/joomla/Component-Builder/issues). ^^
|
||||||
|
- [Issues Stream](https://t.me/jcb_issues).
|
||||||
|
- [Updates](https://t.me/jcb_updates).
|
||||||
|
- [User Group](https://t.me/jcb_group).
|
||||||
|
- [Announcement](https://t.me/Joomla_component_builder).
|
||||||
|
- [Beta](https://git.vdm.dev/joomla-beta/pkg-component-builder).
|
||||||
|
- [Nightly Build](https://git.vdm.dev/joomla-beta/pkg-component-builder/archive/master.zip).
|
||||||
|
- [Community Complaint](https://www.joomlacomponentbuilder.com/community-complaint).
|
||||||
|
- [Security](https://www.vdm.io/report-security-issues).
|
||||||
|
|
||||||
Since JCB has become a community project [VDM.io][VDM] is **no longer solely responsible** for support.
|
^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md).
|
||||||
|
|
||||||
We have started a [**JCB forum**][forum] where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components.
|
|
||||||
|
|
||||||
^^ Then if you run into any issues, related to the JCB code, like bugs, **start by searching** the (*open & closed*) [issues][Issue] over on Github, and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines][guidelines].
|
|
||||||
|
|
||||||
[Tutorials]: https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE
|
|
||||||
[HelloWorld]: https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45
|
|
||||||
[Wiki]: https://git.vdm.dev/joomla/Component-Builder/wiki
|
|
||||||
[forum]: https://vdm.bz/jcb-forum
|
|
||||||
[Security]: http://joomlacomponentbuilder.com/report-security-issues
|
|
||||||
[Complaint]: http://joomlacomponentbuilder.com/community-complaint
|
|
||||||
[Issue]: https://git.vdm.dev/joomla/Component-Builder/issues
|
|
||||||
[VDM]: https://www.vdm.io/joomla-component-builder
|
|
||||||
[guidelines]: https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md
|
|
||||||
|
|
||||||
|
173
CHANGELOG.md
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
# v5.0.4-beta1
|
||||||
|
|
||||||
|
- Add first classes for the new import engine.
|
||||||
|
|
||||||
|
# v5.0.4-alpha
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
# v5.0.3
|
||||||
|
|
||||||
|
- Add [push] option to powers area.
|
||||||
|
- Fix error in [Save As Copy] functionality for the library. #1162
|
||||||
|
- Fix error when no components exist. #1164
|
||||||
|
- Fix search page error caused by File class.
|
||||||
|
- Fix UserGroupList compiler triggers. #1100
|
||||||
|
- Add power integration field type with [init, reset, push] options.
|
||||||
|
- Fix default database fields to allow NULL values. #1169
|
||||||
|
- Fix power list field to support search functionality. #1167
|
||||||
|
- Expand Demo component in JCB v4 to include advanced features.
|
||||||
|
- Fix missing working path in zip creation.
|
||||||
|
- Fix dynamic retrieval for the demo site view.
|
||||||
|
- Fix demo site view to display files.
|
||||||
|
- Fix field type initialization message.
|
||||||
|
- Fix type-agnostic comparisons by casting to CHAR in dynamic get joins.
|
||||||
|
- Fix dynamic download for site area to use correct namespace.
|
||||||
|
- Fix missing edit button on fields in related views.
|
||||||
|
- Fix dashboard display issues.
|
||||||
|
- Restore search option in the [use] field for related views.
|
||||||
|
- Fix namespace issue causing linker to break.
|
||||||
|
|
||||||
|
# v5.0.2
|
||||||
|
|
||||||
|
- 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
|
||||||
|
- Add more pure JS to the dynamic get area
|
||||||
|
- Add native plugin builder for Joomla 4 & 5
|
||||||
|
- Add basic API for admin views
|
||||||
|
|
||||||
|
# v5.0.1
|
||||||
|
|
||||||
|
- Fix auto build from SQL in Joomla 5.
|
||||||
|
- Fix permission issue for admin views.
|
||||||
|
- Add in JCB gitea push feature to help maintain JCB core features.
|
||||||
|
- Add extending options to interfaces.
|
||||||
|
- Change the extendsinterfaces field to allow null, #1139
|
||||||
|
- Update the Schema class to also update null mismatching if needed
|
||||||
|
- Add repositories for better integration with gitea
|
||||||
|
- Refactored the Data classes
|
||||||
|
- Add new Data classes
|
||||||
|
- Add new subform classes
|
||||||
|
- Fix registry class methods return type
|
||||||
|
- Update all list and custom fields to use the new layouts
|
||||||
|
- Add push options to Joomla Power
|
||||||
|
- Complete the Joomla Power Init and Reset features
|
||||||
|
- Fix Gitea Contents class functions
|
||||||
|
- Fix subform set methods
|
||||||
|
- Improved the Joomla Power Push path
|
||||||
|
- Fix the metadata, metadesc, metakey database issue
|
||||||
|
- Fix function mismatch call in the compiler power class.
|
||||||
|
- Fix init feature to only add missing powers
|
||||||
|
- Fix controller postSaveHook function, for correct model class in Joomla 4 and 5
|
||||||
|
- Fix app instances (mismatch) in the install script and schema class when installing from CLI
|
||||||
|
- Add option to use placeholders in Joomla Power namespaces.
|
||||||
|
- Fix subform layout of uikit in JCB
|
||||||
|
|
||||||
|
# v5.0.0
|
||||||
|
|
||||||
|
- Fix the plug-in installer script builder bug #1067
|
||||||
|
- Fix Event triggers for Joomla 4 and 5 builds.
|
||||||
|
- Add fix to the update script, so that upgrading JCB from Joomla 4 to 5 will not fail.
|
||||||
|
- Fix plugin field selection
|
||||||
|
- Fix plugin params tab layout
|
||||||
|
- Add issue templates
|
||||||
|
- Force autoloader to always load
|
||||||
|
- Fix repeatable layout #1076
|
||||||
|
- Add Factory class to the J5 Event class. #1093
|
||||||
|
- Fix customfilelist field to conform to the new namespacing conventions. #1094
|
||||||
|
- Add menus for languages, servers, get snippets to J5 #1095
|
||||||
|
- Fix [Set String Value] in placeholder table to store the value as a base64 string.
|
||||||
|
- Fix the search area layout.
|
||||||
|
- Fix the search area code line selection.
|
||||||
|
- Fix the input edit button for custom fields.
|
||||||
|
- Add the new layout to list fields (GUI UPDATE)
|
||||||
|
- Start fixing the field view in Joomla 5. #1096
|
||||||
|
- Add power path override option on component level.
|
||||||
|
- Fix the sql build feature. #1032
|
||||||
|
- Add the compiler menu back.
|
||||||
|
- Fix the CustomfolderlistField #1094
|
||||||
|
- Add view list and single name fix.
|
||||||
|
- Add component code name fix.
|
||||||
|
- Add reset list of powers.
|
||||||
|
- Add Joomla powers for namespace dynamic management.
|
||||||
|
- Add fallback option to ensure that all JCB tables and fields exist.
|
||||||
|
- Move the powers autoloader to its own file.
|
||||||
|
- Fix the media field size limitation. #1109
|
||||||
|
- Add dynamic datatype update to schema field check.
|
||||||
|
- Fix version_update column size.
|
||||||
|
- Improved the Schema Table update engine.
|
||||||
|
- Improved the Schema Table update engine (more).
|
||||||
|
- Fix autoloader timing, and loading.
|
||||||
|
- Implement the Joomla Powers in JCB code, to move away from JClasses.
|
||||||
|
- Remove the SQL update, to only use the Schema updates of table columns to avoid collusion.
|
||||||
|
- Fix the admin.css file loading on dashboard. #1112
|
||||||
|
- Fix dynamic get data-type default to 0. #1110
|
||||||
|
- Fix the missing model call. #1114
|
||||||
|
- Fix the wrong $date call. #1115
|
||||||
|
- Add the BaseDatabaseModel use statement to custom site view controller. #1119
|
||||||
|
- Fix the customfolderlist field. #1120
|
||||||
|
|
||||||
|
# v4.0.3
|
||||||
|
|
||||||
|
- 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 default database fields to allow NULL. #1169
|
||||||
|
- Fix power list field to enable search. #1167
|
||||||
|
- Expand the Demo component in JCB v4 to include more advanced features.
|
||||||
|
- Fix missing working path in zip process.
|
||||||
|
- Fix dynamic get issue in demo site view.
|
||||||
|
- Fix demo site view to display files.
|
||||||
|
- Fix field type init message.
|
||||||
|
- Ensure type-agnostic comparisons by casting to CHAR in joins for dynamic get.
|
||||||
|
- Fix dynamic download for site area with correct namespace.
|
||||||
|
- Fix missing edit button on fields in related views.
|
||||||
|
- Fix dashboard display.
|
||||||
|
- Restore search option in [use] field of related views.
|
||||||
|
- Fix namespace issue that broke the linker.
|
||||||
|
|
||||||
|
# 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.
|
60
ComponentbuilderInstallerPowerloader.php
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?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;
|
||||||
|
|
||||||
|
// register additional namespace
|
||||||
|
spl_autoload_register(function ($class) {
|
||||||
|
// project-specific base directories and namespace prefix
|
||||||
|
$search = [
|
||||||
|
'libraries/vendor_jcb/VDM.Joomla.Gitea' => 'VDM\\Joomla\\Gitea',
|
||||||
|
'libraries/vendor_jcb/VDM.Joomla.FOF' => 'VDM\\Joomla\\FOF',
|
||||||
|
'libraries/vendor_jcb/VDM.Joomla' => 'VDM\\Joomla',
|
||||||
|
'libraries/vendor_jcb/VDM.Minify' => 'VDM\\Minify',
|
||||||
|
'libraries/vendor_jcb/VDM.Psr' => 'VDM\\Psr'
|
||||||
|
];
|
||||||
|
// Start the search and load if found
|
||||||
|
$found = false;
|
||||||
|
$found_base_dir = "";
|
||||||
|
$found_len = 0;
|
||||||
|
foreach ($search as $base_dir => $prefix)
|
||||||
|
{
|
||||||
|
// does the class use the namespace prefix?
|
||||||
|
$len = strlen($prefix);
|
||||||
|
if (strncmp($prefix, $class, $len) === 0)
|
||||||
|
{
|
||||||
|
// we have a match so load the values
|
||||||
|
$found = true;
|
||||||
|
$found_base_dir = $base_dir;
|
||||||
|
$found_len = $len;
|
||||||
|
// done here
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// check if we found a match
|
||||||
|
if (!$found)
|
||||||
|
{
|
||||||
|
// not found so move to the next registered autoloader
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// get the relative class name
|
||||||
|
$relative_class = substr($class, $found_len);
|
||||||
|
// replace the namespace prefix with the base directory, replace namespace
|
||||||
|
// separators with directory separators in the relative class name, append
|
||||||
|
// with .php
|
||||||
|
$file = __DIR__ . '/' . $found_base_dir . '/src' . str_replace('\\', '/', $relative_class) . '.php';
|
||||||
|
// if the file exists, require it
|
||||||
|
if (file_exists($file))
|
||||||
|
{
|
||||||
|
require $file;
|
||||||
|
}
|
||||||
|
});
|
5069
ComponentbuilderInstallerScript.php
Normal file
68
README.md
@ -1,15 +1,15 @@
|
|||||||
|
|
||||||
# Joomla Component Builder ([JCB](http://joomlacomponentbuilder.com))
|
# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com))
|
||||||
|
|
||||||
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 5.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder")
|
![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/5.x/admin/assets/images/jcb-banner.jpg "The Component Builder")
|
||||||
|
|
||||||
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.1.3) 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 (5.0.4-beta1) 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)
|
||||||
|
|
||||||
@ -23,8 +23,8 @@ Some of the Features
|
|||||||
+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end.
|
+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end.
|
||||||
+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept.
|
+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept.
|
||||||
+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel.
|
+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel.
|
||||||
+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](http://joomlacomponentbuilder.com)
|
+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](https://www.joomlacomponentbuilder.com)
|
||||||
+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](http://joomlacomponentbuilder.com).
|
+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](https://www.joomlacomponentbuilder.com).
|
||||||
+ Adding mySQL Dump to any View/Table.
|
+ Adding mySQL Dump to any View/Table.
|
||||||
+ Grab existing Table data and build a dynamic dump.
|
+ Grab existing Table data and build a dynamic dump.
|
||||||
+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components.
|
+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components.
|
||||||
@ -83,13 +83,13 @@ You are in Control
|
|||||||
+ You can dynamically add internal help structures to all component.
|
+ You can dynamically add internal help structures to all component.
|
||||||
+ There is no limitations on how big or how much you want to build (server limitation only).
|
+ There is no limitations on how big or how much you want to build (server limitation only).
|
||||||
+ This is a complete factory kind of component that functions like a deployment hub.
|
+ This is a complete factory kind of component that functions like a deployment hub.
|
||||||
+ Export any component completely mapped in [JCB](http://joomlacomponentbuilder.com) and import into another [JCB](http://joomlacomponentbuilder.com).
|
+ Export any component completely mapped in [JCB](https://www.joomlacomponentbuilder.com) and import into another [JCB](https://www.joomlacomponentbuilder.com).
|
||||||
+ This and much much more are all possible with this component builder!
|
+ This and much much more are all possible with this component builder!
|
||||||
|
|
||||||
Get More Demo Content
|
Get More Demo Content
|
||||||
====================
|
====================
|
||||||
|
|
||||||
> You can now get access to the WOW factor, [JCB](http://joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](http://joomlacomponentbuilder.com) mapped components.
|
> You can now get access to the WOW factor, [JCB](https://www.joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](https://www.joomlacomponentbuilder.com) mapped components.
|
||||||
|
|
||||||
### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)!
|
### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)!
|
||||||
|
|
||||||
@ -99,18 +99,22 @@ To install these packages [watch this tutorial](https://vdm.bz/how-to-install-jc
|
|||||||
Where can you get support and help?
|
Where can you get support and help?
|
||||||
====================
|
====================
|
||||||
|
|
||||||
+ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE)
|
- [Package](https://git.vdm.dev/joomla/pkg-component-builder).
|
||||||
+ [German Basic Introduction](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7)
|
- [Download](https://git.vdm.dev/joomla/pkg-component-builder/archive/master.zip).
|
||||||
+ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
- [Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE).
|
||||||
+ [The JCB! Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki)
|
- [German](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7).
|
||||||
+ [Forum](https://vdm.bz/jcb-forum)
|
- [Hello World](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45).
|
||||||
+ [Report a Security Issue](http://joomlacomponentbuilder.com/report-security-issues)
|
- [Discussions](https://github.com/vdm-io/Joomla-Component-Builder/discussions).
|
||||||
+ [Community Complaint](http://joomlacomponentbuilder.com/community-complaint)
|
- [Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki).
|
||||||
+ [Open Issue On Gitea](https://git.vdm.dev/joomla/Component-Builder/issues) ^^
|
- [Issues](https://git.vdm.dev/joomla/Component-Builder/issues). ^^
|
||||||
|
- [Issues Stream](https://t.me/jcb_issues).
|
||||||
Since [JCB](http://joomlacomponentbuilder.com) has [become a community](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support.
|
- [Updates](https://t.me/jcb_updates).
|
||||||
|
- [User Group](https://t.me/jcb_group).
|
||||||
We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components.
|
- [Announcement](https://t.me/Joomla_component_builder).
|
||||||
|
- [Beta](https://git.vdm.dev/joomla-beta/pkg-component-builder).
|
||||||
|
- [Nightly Build](https://git.vdm.dev/joomla-beta/pkg-component-builder/archive/master.zip).
|
||||||
|
- [Community Complaint](https://www.joomlacomponentbuilder.com/community-complaint).
|
||||||
|
- [Security](https://www.vdm.io/report-security-issues).
|
||||||
|
|
||||||
^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md).
|
^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md).
|
||||||
|
|
||||||
@ -125,14 +129,14 @@ Our idea was to almost let this tool serve as a cheat sheet to how things can be
|
|||||||
MAKING IT BETTER!
|
MAKING IT BETTER!
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](http://joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](http://joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas.
|
Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](https://www.joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](https://www.joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas.
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
======
|
======
|
||||||
|
|
||||||
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](http://joomlacomponentbuilder.com).
|
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](https://www.joomlacomponentbuilder.com).
|
||||||
- Team collaborative development across [JCB](http://joomlacomponentbuilder.com) installations offline and online.
|
- Team collaborative development across [JCB](https://www.joomlacomponentbuilder.com) installations offline and online.
|
||||||
- Documentation (maintained by the community) for [JCB](http://joomlacomponentbuilder.com). (help us select the best system for this)
|
- Documentation (maintained by the community) for [JCB](https://www.joomlacomponentbuilder.com). (help us select the best system for this)
|
||||||
|
|
||||||
# Build Details
|
# Build Details
|
||||||
|
|
||||||
@ -140,17 +144,17 @@ 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*: 9th July, 2022
|
+ *Last Build*: 7th November, 2024
|
||||||
+ *Version*: 3.1.3
|
+ *Version*: 5.0.4-beta1
|
||||||
+ *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*: **311259**
|
+ *Line count*: **890506**
|
||||||
+ *Field count*: **2002**
|
+ *Field count*: **2104**
|
||||||
+ *File count*: **2050**
|
+ *File count*: **6228**
|
||||||
+ *Folder count*: **349**
|
+ *Folder count*: **636**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://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:llewellyn@joomlacomponentbuilder.com)
|
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||||
|
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
|
|
||||||
# Joomla Component Builder ([JCB](http://joomlacomponentbuilder.com))
|
# Joomla Component Builder ([JCB](https://www.joomlacomponentbuilder.com))
|
||||||
|
|
||||||
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 5.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||||
|
|
||||||
![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/master/admin/assets/images/jcb-banner.jpg "The Component Builder")
|
![Component Builder image](https://git.vdm.dev/joomla/Component-Builder/raw/branch/5.x/admin/assets/images/jcb-banner.jpg "The Component Builder")
|
||||||
|
|
||||||
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.1.3) 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 (5.0.4-beta1) 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)
|
||||||
|
|
||||||
@ -23,8 +23,8 @@ Some of the Features
|
|||||||
+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end.
|
+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end.
|
||||||
+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept.
|
+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept.
|
||||||
+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel.
|
+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel.
|
||||||
+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](http://joomlacomponentbuilder.com)
|
+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](https://www.joomlacomponentbuilder.com)
|
||||||
+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](http://joomlacomponentbuilder.com).
|
+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](https://www.joomlacomponentbuilder.com).
|
||||||
+ Adding mySQL Dump to any View/Table.
|
+ Adding mySQL Dump to any View/Table.
|
||||||
+ Grab existing Table data and build a dynamic dump.
|
+ Grab existing Table data and build a dynamic dump.
|
||||||
+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components.
|
+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components.
|
||||||
@ -83,13 +83,13 @@ You are in Control
|
|||||||
+ You can dynamically add internal help structures to all component.
|
+ You can dynamically add internal help structures to all component.
|
||||||
+ There is no limitations on how big or how much you want to build (server limitation only).
|
+ There is no limitations on how big or how much you want to build (server limitation only).
|
||||||
+ This is a complete factory kind of component that functions like a deployment hub.
|
+ This is a complete factory kind of component that functions like a deployment hub.
|
||||||
+ Export any component completely mapped in [JCB](http://joomlacomponentbuilder.com) and import into another [JCB](http://joomlacomponentbuilder.com).
|
+ Export any component completely mapped in [JCB](https://www.joomlacomponentbuilder.com) and import into another [JCB](https://www.joomlacomponentbuilder.com).
|
||||||
+ This and much much more are all possible with this component builder!
|
+ This and much much more are all possible with this component builder!
|
||||||
|
|
||||||
Get More Demo Content
|
Get More Demo Content
|
||||||
====================
|
====================
|
||||||
|
|
||||||
> You can now get access to the WOW factor, [JCB](http://joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](http://joomlacomponentbuilder.com) mapped components.
|
> You can now get access to the WOW factor, [JCB](https://www.joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](https://www.joomlacomponentbuilder.com) mapped components.
|
||||||
|
|
||||||
### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)!
|
### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)!
|
||||||
|
|
||||||
@ -99,18 +99,22 @@ To install these packages [watch this tutorial](https://vdm.bz/how-to-install-jc
|
|||||||
Where can you get support and help?
|
Where can you get support and help?
|
||||||
====================
|
====================
|
||||||
|
|
||||||
+ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE)
|
- [Package](https://git.vdm.dev/joomla/pkg-component-builder).
|
||||||
+ [German Basic Introduction](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7)
|
- [Download](https://git.vdm.dev/joomla/pkg-component-builder/archive/master.zip).
|
||||||
+ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
- [Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE).
|
||||||
+ [The JCB! Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki)
|
- [German](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wu0tDFxJtZFwW7AxA4JHQV7).
|
||||||
+ [Forum](https://vdm.bz/jcb-forum)
|
- [Hello World](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45).
|
||||||
+ [Report a Security Issue](http://joomlacomponentbuilder.com/report-security-issues)
|
- [Discussions](https://github.com/vdm-io/Joomla-Component-Builder/discussions).
|
||||||
+ [Community Complaint](http://joomlacomponentbuilder.com/community-complaint)
|
- [Wiki](https://git.vdm.dev/joomla/Component-Builder/wiki).
|
||||||
+ [Open Issue On Gitea](https://git.vdm.dev/joomla/Component-Builder/issues) ^^
|
- [Issues](https://git.vdm.dev/joomla/Component-Builder/issues). ^^
|
||||||
|
- [Issues Stream](https://t.me/jcb_issues).
|
||||||
Since [JCB](http://joomlacomponentbuilder.com) has [become a community](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support.
|
- [Updates](https://t.me/jcb_updates).
|
||||||
|
- [User Group](https://t.me/jcb_group).
|
||||||
We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components.
|
- [Announcement](https://t.me/Joomla_component_builder).
|
||||||
|
- [Beta](https://git.vdm.dev/joomla-beta/pkg-component-builder).
|
||||||
|
- [Nightly Build](https://git.vdm.dev/joomla-beta/pkg-component-builder/archive/master.zip).
|
||||||
|
- [Community Complaint](https://www.joomlacomponentbuilder.com/community-complaint).
|
||||||
|
- [Security](https://www.vdm.io/report-security-issues).
|
||||||
|
|
||||||
^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md).
|
^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md).
|
||||||
|
|
||||||
@ -125,14 +129,14 @@ Our idea was to almost let this tool serve as a cheat sheet to how things can be
|
|||||||
MAKING IT BETTER!
|
MAKING IT BETTER!
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](http://joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](http://joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas.
|
Get involved on the forums, and the Gitea issues, and you can even help us develop/improve the pipeline of [JCB](https://www.joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](https://www.joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas.
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
======
|
======
|
||||||
|
|
||||||
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](http://joomlacomponentbuilder.com).
|
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](https://www.joomlacomponentbuilder.com).
|
||||||
- Team collaborative development across [JCB](http://joomlacomponentbuilder.com) installations offline and online.
|
- Team collaborative development across [JCB](https://www.joomlacomponentbuilder.com) installations offline and online.
|
||||||
- Documentation (maintained by the community) for [JCB](http://joomlacomponentbuilder.com). (help us select the best system for this)
|
- Documentation (maintained by the community) for [JCB](https://www.joomlacomponentbuilder.com). (help us select the best system for this)
|
||||||
|
|
||||||
# Build Details
|
# Build Details
|
||||||
|
|
||||||
@ -140,17 +144,17 @@ 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*: 9th July, 2022
|
+ *Last Build*: 7th November, 2024
|
||||||
+ *Version*: 3.1.3
|
+ *Version*: 5.0.4-beta1
|
||||||
+ *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*: **311259**
|
+ *Line count*: **890506**
|
||||||
+ *Field count*: **2002**
|
+ *Field count*: **2104**
|
||||||
+ *File count*: **2050**
|
+ *File count*: **6228**
|
||||||
+ *Folder count*: **349**
|
+ *Folder count*: **636**
|
||||||
|
|
||||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://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:llewellyn@joomlacomponentbuilder.com)
|
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||||
|
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
140
admin/access.xml
@ -4,8 +4,6 @@
|
|||||||
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
|
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
|
||||||
<action name="core.options" title="JACTION_OPTIONS" description="JACTION_OPTIONS_COMPONENT_DESC" />
|
<action name="core.options" title="JACTION_OPTIONS" description="JACTION_OPTIONS_COMPONENT_DESC" />
|
||||||
<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
|
<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
|
||||||
<action name="core.export" title="COM_COMPONENTBUILDER_EXPORT_DATA" description="COM_COMPONENTBUILDER_EXPORT_DATA_DESC" />
|
|
||||||
<action name="core.import" title="COM_COMPONENTBUILDER_IMPORT_DATA" description="COM_COMPONENTBUILDER_IMPORT_DATA_DESC" />
|
|
||||||
<action name="core.batch" title="COM_COMPONENTBUILDER_USE_BATCH" description="COM_COMPONENTBUILDER_USE_BATCH_DESC" />
|
<action name="core.batch" title="COM_COMPONENTBUILDER_USE_BATCH" description="COM_COMPONENTBUILDER_USE_BATCH_DESC" />
|
||||||
<action name="core.version" title="COM_COMPONENTBUILDER_EDIT_VERSIONS" description="COM_COMPONENTBUILDER_EDIT_VERSIONS_DESC" />
|
<action name="core.version" title="COM_COMPONENTBUILDER_EDIT_VERSIONS" description="COM_COMPONENTBUILDER_EDIT_VERSIONS_DESC" />
|
||||||
<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
|
<action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
|
||||||
@ -15,11 +13,9 @@
|
|||||||
<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" />
|
||||||
<action name="admin_view.dashboard_add" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_ADD_DESC" />
|
|
||||||
<action name="admin_view.dashboard_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC" />
|
<action name="admin_view.dashboard_list" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DASHBOARD_LIST_DESC" />
|
||||||
<action name="admin_view.delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC" />
|
<action name="admin_view.delete" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_DELETE_DESC" />
|
||||||
<action name="admin_view.edit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESC" />
|
<action name="admin_view.edit" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_DESC" />
|
||||||
@ -28,8 +24,6 @@
|
|||||||
<action name="admin_view.edit.own" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN_DESC" />
|
<action name="admin_view.edit.own" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_OWN_DESC" />
|
||||||
<action name="admin_view.edit.state" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE_DESC" />
|
<action name="admin_view.edit.state" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_STATE_DESC" />
|
||||||
<action name="admin_view.version" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC" />
|
<action name="admin_view.version" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EDIT_VERSION_DESC" />
|
||||||
<action name="admin_view.export" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_EXPORT_DESC" />
|
|
||||||
<action name="admin_view.import" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC" />
|
|
||||||
<action name="admin_view.submenu" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC" />
|
<action name="admin_view.submenu" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC" />
|
||||||
<action name="admin_custom_tabs.access" title="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_ACCESS" description="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_ACCESS_DESC" />
|
<action name="admin_custom_tabs.access" title="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_ACCESS" description="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_ACCESS_DESC" />
|
||||||
<action name="admin_custom_tabs.batch" title="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_BATCH_USE_DESC" />
|
<action name="admin_custom_tabs.batch" title="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMINS_CUSTOM_TABS_BATCH_USE_DESC" />
|
||||||
@ -91,8 +85,6 @@
|
|||||||
<action name="class_method.edit.own" title="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_OWN" description="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_OWN_DESC" />
|
<action name="class_method.edit.own" title="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_OWN" description="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_OWN_DESC" />
|
||||||
<action name="class_method.edit.state" title="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_STATE" description="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_STATE_DESC" />
|
<action name="class_method.edit.state" title="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_STATE" description="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_STATE_DESC" />
|
||||||
<action name="class_method.version" title="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_VERSION" description="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_VERSION_DESC" />
|
<action name="class_method.version" title="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_VERSION" description="COM_COMPONENTBUILDER_CLASS_METHODS_EDIT_VERSION_DESC" />
|
||||||
<action name="class_method.export" title="COM_COMPONENTBUILDER_CLASS_METHODS_EXPORT" description="COM_COMPONENTBUILDER_CLASS_METHODS_EXPORT_DESC" />
|
|
||||||
<action name="class_method.import" title="COM_COMPONENTBUILDER_CLASS_METHODS_IMPORT" description="COM_COMPONENTBUILDER_CLASS_METHODS_IMPORT_DESC" />
|
|
||||||
<action name="class_property.access" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_ACCESS" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_ACCESS_DESC" />
|
<action name="class_property.access" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_ACCESS" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_ACCESS_DESC" />
|
||||||
<action name="class_property.batch" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_BATCH_USE" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_BATCH_USE_DESC" />
|
<action name="class_property.batch" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_BATCH_USE" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_BATCH_USE_DESC" />
|
||||||
<action name="class_property.create" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_CREATE" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_CREATE_DESC" />
|
<action name="class_property.create" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_CREATE" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_CREATE_DESC" />
|
||||||
@ -103,15 +95,11 @@
|
|||||||
<action name="class_property.edit.own" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_OWN" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_OWN_DESC" />
|
<action name="class_property.edit.own" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_OWN" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_OWN_DESC" />
|
||||||
<action name="class_property.edit.state" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_STATE" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_STATE_DESC" />
|
<action name="class_property.edit.state" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_STATE" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_STATE_DESC" />
|
||||||
<action name="class_property.version" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_VERSION" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_VERSION_DESC" />
|
<action name="class_property.version" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_VERSION" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EDIT_VERSION_DESC" />
|
||||||
<action name="class_property.export" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EXPORT" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_EXPORT_DESC" />
|
|
||||||
<action name="class_property.import" title="COM_COMPONENTBUILDER_CLASS_PROPERTIES_IMPORT" description="COM_COMPONENTBUILDER_CLASS_PROPERTIES_IMPORT_DESC" />
|
|
||||||
<action name="compiler.access" title="COM_COMPONENTBUILDER_COMPILER_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC" />
|
<action name="compiler.access" title="COM_COMPONENTBUILDER_COMPILER_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC" />
|
||||||
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
|
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
|
||||||
<action name="compiler.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="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" />
|
||||||
<action name="component_admin_views.batch" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_BATCH_USE_DESC" />
|
<action name="component_admin_views.batch" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_BATCH_USE_DESC" />
|
||||||
<action name="component_admin_views.create" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_CREATE_DESC" />
|
<action name="component_admin_views.create" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_CREATE_DESC" />
|
||||||
@ -212,6 +200,16 @@
|
|||||||
<action name="component_plugins.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_OWN_DESC" />
|
<action name="component_plugins.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_OWN_DESC" />
|
||||||
<action name="component_plugins.edit.state" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_STATE" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_STATE_DESC" />
|
<action name="component_plugins.edit.state" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_STATE" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_STATE_DESC" />
|
||||||
<action name="component_plugins.version" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_VERSION_DESC" />
|
<action name="component_plugins.version" title="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_PLUGINS_EDIT_VERSION_DESC" />
|
||||||
|
<action name="component_router.access" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_ACCESS_DESC" />
|
||||||
|
<action name="component_router.batch" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_BATCH_USE_DESC" />
|
||||||
|
<action name="component_router.create" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_CREATE_DESC" />
|
||||||
|
<action name="component_router.delete" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_DELETE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_DELETE_DESC" />
|
||||||
|
<action name="component_router.edit" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_DESC" />
|
||||||
|
<action name="component_router.edit.created_by" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_BY_DESC" />
|
||||||
|
<action name="component_router.edit.created" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_DATE_DESC" />
|
||||||
|
<action name="component_router.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_OWN_DESC" />
|
||||||
|
<action name="component_router.edit.state" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_STATE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_STATE_DESC" />
|
||||||
|
<action name="component_router.version" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_VERSION_DESC" />
|
||||||
<action name="component_site_views.access" title="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_ACCESS_DESC" />
|
<action name="component_site_views.access" title="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_ACCESS_DESC" />
|
||||||
<action name="component_site_views.batch" title="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_BATCH_USE_DESC" />
|
<action name="component_site_views.batch" title="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_BATCH_USE_DESC" />
|
||||||
<action name="component_site_views.create" title="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_CREATE_DESC" />
|
<action name="component_site_views.create" title="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_SITE_VIEWS_CREATE_DESC" />
|
||||||
@ -235,11 +233,8 @@
|
|||||||
<action name="custom_admin_view.get_snippets" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
<action name="custom_admin_view.get_snippets" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="custom_admin_view.access" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_ACCESS_DESC" />
|
<action name="custom_admin_view.access" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_ACCESS_DESC" />
|
||||||
<action name="custom_admin_view.batch" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE_DESC" />
|
<action name="custom_admin_view.batch" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_BATCH_USE_DESC" />
|
||||||
<action name="custom_admin_view.dashboard_add" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_ADD_DESC" />
|
|
||||||
<action name="custom_admin_view.dashboard_list" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESC" />
|
<action name="custom_admin_view.dashboard_list" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_DASHBOARD_LIST_DESC" />
|
||||||
<action name="custom_admin_view.version" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_VERSION_DESC" />
|
<action name="custom_admin_view.version" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EDIT_VERSION_DESC" />
|
||||||
<action name="custom_admin_view.export" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EXPORT" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EXPORT_DESC" />
|
|
||||||
<action name="custom_admin_view.import" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT_DESC" />
|
|
||||||
<action name="custom_admin_view.submenu" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC" />
|
<action name="custom_admin_view.submenu" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC" />
|
||||||
<action name="custom_code.run_expansion" title="COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
<action name="custom_code.run_expansion" title="COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
|
||||||
<action name="custom_code.access" title="COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS_DESC" />
|
<action name="custom_code.access" title="COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS_DESC" />
|
||||||
@ -253,10 +248,7 @@
|
|||||||
<action name="custom_code.edit.own" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_OWN" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_OWN_DESC" />
|
<action name="custom_code.edit.own" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_OWN" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_OWN_DESC" />
|
||||||
<action name="custom_code.edit.state" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_STATE" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_STATE_DESC" />
|
<action name="custom_code.edit.state" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_STATE" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_STATE_DESC" />
|
||||||
<action name="custom_code.version" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_VERSION" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_VERSION_DESC" />
|
<action name="custom_code.version" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_VERSION" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EDIT_VERSION_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.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" />
|
||||||
@ -267,10 +259,7 @@
|
|||||||
<action name="dynamic_get.edit.own" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_OWN" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_OWN_DESC" />
|
<action name="dynamic_get.edit.own" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_OWN" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_OWN_DESC" />
|
||||||
<action name="dynamic_get.edit.state" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_STATE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_STATE_DESC" />
|
<action name="dynamic_get.edit.state" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_STATE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_STATE_DESC" />
|
||||||
<action name="dynamic_get.version" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_VERSION" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_VERSION_DESC" />
|
<action name="dynamic_get.version" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_VERSION" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EDIT_VERSION_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.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" />
|
||||||
@ -281,9 +270,10 @@
|
|||||||
<action name="field.edit.own" title="COM_COMPONENTBUILDER_FIELDS_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDS_EDIT_OWN_DESC" />
|
<action name="field.edit.own" title="COM_COMPONENTBUILDER_FIELDS_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDS_EDIT_OWN_DESC" />
|
||||||
<action name="field.edit.state" title="COM_COMPONENTBUILDER_FIELDS_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDS_EDIT_STATE_DESC" />
|
<action name="field.edit.state" title="COM_COMPONENTBUILDER_FIELDS_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDS_EDIT_STATE_DESC" />
|
||||||
<action name="field.version" title="COM_COMPONENTBUILDER_FIELDS_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDS_EDIT_VERSION_DESC" />
|
<action name="field.version" title="COM_COMPONENTBUILDER_FIELDS_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDS_EDIT_VERSION_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.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" />
|
||||||
@ -293,17 +283,13 @@
|
|||||||
<action name="fieldtype.edit.own" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC" />
|
<action name="fieldtype.edit.own" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC" />
|
||||||
<action name="fieldtype.edit.state" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC" />
|
<action name="fieldtype.edit.state" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC" />
|
||||||
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
|
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
|
||||||
<action name="fieldtype.export" title="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC" />
|
|
||||||
<action name="fieldtype.import" title="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC" />
|
|
||||||
<action name="fieldtype.submenu" title="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU" description="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC" />
|
<action name="fieldtype.submenu" title="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU" description="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC" />
|
||||||
<action name="get_snippets.access" title="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC" />
|
<action name="get_snippets.access" title="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC" />
|
||||||
<action name="get_snippets.custom_admin_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC" />
|
<action name="get_snippets.custom_admin_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="get_snippets.dashboard_list" title="COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_GET_SNIPPETS_DASHBOARD_LIST_DESC" />
|
|
||||||
<action name="get_snippets.layouts" title="COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS_DESC" />
|
<action name="get_snippets.layouts" title="COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_LAYOUTS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="get_snippets.libraries" title="COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS_DESC" />
|
<action name="get_snippets.libraries" title="COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_LIBRARIES_BUTTON_ACCESS_DESC" />
|
||||||
<action name="get_snippets.site_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS_DESC" />
|
<action name="get_snippets.site_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_SITE_VIEWS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="get_snippets.snippets" title="COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS_DESC" />
|
<action name="get_snippets.snippets" title="COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_SNIPPETS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="get_snippets.submenu" title="COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU" description="COM_COMPONENTBUILDER_GET_SNIPPETS_SUBMENU_DESC" />
|
|
||||||
<action name="get_snippets.templates" title="COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS_DESC" />
|
<action name="get_snippets.templates" title="COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_TEMPLATES_BUTTON_ACCESS_DESC" />
|
||||||
<action name="help_document.access" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS_DESC" />
|
<action name="help_document.access" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_ACCESS_DESC" />
|
||||||
<action name="help_document.batch" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE_DESC" />
|
<action name="help_document.batch" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_BATCH_USE_DESC" />
|
||||||
@ -314,15 +300,8 @@
|
|||||||
<action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" />
|
<action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" />
|
||||||
<action name="help_document.edit.state" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_STATE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_STATE_DESC" />
|
<action name="help_document.edit.state" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_STATE" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_STATE_DESC" />
|
||||||
<action name="help_document.version" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION_DESC" />
|
<action name="help_document.version" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_VERSION_DESC" />
|
||||||
<action name="help_document.export" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EXPORT_DESC" />
|
|
||||||
<action name="help_document.import" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT_DESC" />
|
|
||||||
<action name="help_document.submenu" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC" />
|
<action name="help_document.submenu" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC" />
|
||||||
<action name="joomla_component.backup" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC" />
|
|
||||||
<action name="joomla_component.clear_tmp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS_DESC" />
|
<action name="joomla_component.clear_tmp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_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.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" />
|
||||||
@ -335,8 +314,6 @@
|
|||||||
<action name="joomla_component.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC" />
|
<action name="joomla_component.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC" />
|
||||||
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
|
<action name="joomla_component.version" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC" />
|
||||||
<action name="joomla_component.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.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" />
|
||||||
@ -348,7 +325,6 @@
|
|||||||
<action name="joomla_module.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN_DESC" />
|
<action name="joomla_module.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_OWN_DESC" />
|
||||||
<action name="joomla_module.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE_DESC" />
|
<action name="joomla_module.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_STATE_DESC" />
|
||||||
<action name="joomla_module.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION_DESC" />
|
<action name="joomla_module.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EDIT_VERSION_DESC" />
|
||||||
<action name="joomla_module.export" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_EXPORT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_EXPORT_DESC" />
|
|
||||||
<action name="joomla_module_files_folders_urls.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS_DESC" />
|
<action name="joomla_module_files_folders_urls.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_ACCESS_DESC" />
|
||||||
<action name="joomla_module_files_folders_urls.batch" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE_DESC" />
|
<action name="joomla_module_files_folders_urls.batch" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_BATCH_USE_DESC" />
|
||||||
<action name="joomla_module_files_folders_urls.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE_DESC" />
|
<action name="joomla_module_files_folders_urls.create" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_CREATE_DESC" />
|
||||||
@ -359,7 +335,6 @@
|
|||||||
<action name="joomla_module_files_folders_urls.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN_DESC" />
|
<action name="joomla_module_files_folders_urls.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_OWN_DESC" />
|
||||||
<action name="joomla_module_files_folders_urls.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE_DESC" />
|
<action name="joomla_module_files_folders_urls.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_STATE_DESC" />
|
||||||
<action name="joomla_module_files_folders_urls.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC" />
|
<action name="joomla_module_files_folders_urls.version" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_FILES_FOLDERS_URLS_EDIT_VERSION_DESC" />
|
||||||
<action name="joomla_module.import" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_IMPORT" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_IMPORT_DESC" />
|
|
||||||
<action name="joomla_module.submenu" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU_DESC" />
|
<action name="joomla_module.submenu" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_SUBMENU_DESC" />
|
||||||
<action name="joomla_module_updates.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS_DESC" />
|
<action name="joomla_module_updates.access" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_ACCESS_DESC" />
|
||||||
<action name="joomla_module_updates.batch" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE_DESC" />
|
<action name="joomla_module_updates.batch" title="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_MODULES_UPDATES_BATCH_USE_DESC" />
|
||||||
@ -377,7 +352,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" />
|
||||||
@ -410,6 +384,20 @@
|
|||||||
<action name="joomla_plugin_updates.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_OWN_DESC" />
|
<action name="joomla_plugin_updates.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_OWN_DESC" />
|
||||||
<action name="joomla_plugin_updates.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE_DESC" />
|
<action name="joomla_plugin_updates.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_STATE_DESC" />
|
||||||
<action name="joomla_plugin_updates.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION_DESC" />
|
<action name="joomla_plugin_updates.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_UPDATES_EDIT_VERSION_DESC" />
|
||||||
|
<action name="joomla_power.init" title="COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_INIT_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="joomla_power.push" title="COM_COMPONENTBUILDER_JOOMLA_POWER_PUSH_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_PUSH_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="joomla_power.reset" title="COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWER_RESET_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="joomla_power.access" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS_DESC" />
|
||||||
|
<action name="joomla_power.batch" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_BATCH_USE_DESC" />
|
||||||
|
<action name="joomla_power.create" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_CREATE_DESC" />
|
||||||
|
<action name="joomla_power.delete" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_DELETE_DESC" />
|
||||||
|
<action name="joomla_power.edit" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_DESC" />
|
||||||
|
<action name="joomla_power.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_BY_DESC" />
|
||||||
|
<action name="joomla_power.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_DATE_DESC" />
|
||||||
|
<action name="joomla_power.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_OWN_DESC" />
|
||||||
|
<action name="joomla_power.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_STATE_DESC" />
|
||||||
|
<action name="joomla_power.version" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_VERSION_DESC" />
|
||||||
|
<action name="joomla_power.submenu" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_SUBMENU" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_SUBMENU_DESC" />
|
||||||
<action name="language.build" title="COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS_DESC" />
|
<action name="language.build" title="COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGE_BUILD_BUTTON_ACCESS_DESC" />
|
||||||
<action name="language_translation.access" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS_DESC" />
|
<action name="language_translation.access" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_ACCESS_DESC" />
|
||||||
<action name="language_translation.batch" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE_DESC" />
|
<action name="language_translation.batch" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_BATCH_USE_DESC" />
|
||||||
@ -420,27 +408,22 @@
|
|||||||
<action name="language_translation.edit.own" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN_DESC" />
|
<action name="language_translation.edit.own" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_OWN_DESC" />
|
||||||
<action name="language_translation.edit.state" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE_DESC" />
|
<action name="language_translation.edit.state" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_STATE_DESC" />
|
||||||
<action name="language_translation.version" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION_DESC" />
|
<action name="language_translation.version" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EDIT_VERSION_DESC" />
|
||||||
<action name="language_translation.export" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EXPORT" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_EXPORT_DESC" />
|
|
||||||
<action name="language_translation.import" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_IMPORT_DESC" />
|
|
||||||
<action name="language_translation.submenu" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC" />
|
<action name="language_translation.submenu" title="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU" description="COM_COMPONENTBUILDER_LANGUAGE_TRANSLATIONS_SUBMENU_DESC" />
|
||||||
<action name="language.access" title="COM_COMPONENTBUILDER_LANGUAGES_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC" />
|
<action name="language.access" title="COM_COMPONENTBUILDER_LANGUAGES_ACCESS" description="COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC" />
|
||||||
<action name="language.batch" title="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE" description="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE_DESC" />
|
<action name="language.batch" title="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE" description="COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE_DESC" />
|
||||||
<action name="language.create" title="COM_COMPONENTBUILDER_LANGUAGES_CREATE" description="COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC" />
|
<action name="language.create" title="COM_COMPONENTBUILDER_LANGUAGES_CREATE" description="COM_COMPONENTBUILDER_LANGUAGES_CREATE_DESC" />
|
||||||
|
<action name="language.dashboard_list" title="COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_LANGUAGES_DASHBOARD_LIST_DESC" />
|
||||||
<action name="language.delete" title="COM_COMPONENTBUILDER_LANGUAGES_DELETE" description="COM_COMPONENTBUILDER_LANGUAGES_DELETE_DESC" />
|
<action name="language.delete" title="COM_COMPONENTBUILDER_LANGUAGES_DELETE" description="COM_COMPONENTBUILDER_LANGUAGES_DELETE_DESC" />
|
||||||
<action name="language.edit" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_DESC" />
|
<action name="language.edit" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_DESC" />
|
||||||
<action name="language.edit.own" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN_DESC" />
|
<action name="language.edit.own" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_OWN_DESC" />
|
||||||
<action name="language.edit.state" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE_DESC" />
|
<action name="language.edit.state" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_STATE_DESC" />
|
||||||
<action name="language.version" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION_DESC" />
|
<action name="language.version" title="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION" description="COM_COMPONENTBUILDER_LANGUAGES_EDIT_VERSION_DESC" />
|
||||||
<action name="language.export" title="COM_COMPONENTBUILDER_LANGUAGES_EXPORT" description="COM_COMPONENTBUILDER_LANGUAGES_EXPORT_DESC" />
|
|
||||||
<action name="language.import" title="COM_COMPONENTBUILDER_LANGUAGES_IMPORT" description="COM_COMPONENTBUILDER_LANGUAGES_IMPORT_DESC" />
|
|
||||||
<action name="language.submenu" title="COM_COMPONENTBUILDER_LANGUAGES_SUBMENU" description="COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC" />
|
<action name="language.submenu" title="COM_COMPONENTBUILDER_LANGUAGES_SUBMENU" description="COM_COMPONENTBUILDER_LANGUAGES_SUBMENU_DESC" />
|
||||||
<action name="layout.get_snippets" title="COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
<action name="layout.get_snippets" title="COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_LAYOUT_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="layout.access" title="COM_COMPONENTBUILDER_LAYOUTS_ACCESS" description="COM_COMPONENTBUILDER_LAYOUTS_ACCESS_DESC" />
|
<action name="layout.access" title="COM_COMPONENTBUILDER_LAYOUTS_ACCESS" description="COM_COMPONENTBUILDER_LAYOUTS_ACCESS_DESC" />
|
||||||
<action name="layout.batch" title="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE" description="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC" />
|
<action name="layout.batch" title="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE" description="COM_COMPONENTBUILDER_LAYOUTS_BATCH_USE_DESC" />
|
||||||
<action name="layout.dashboard_list" title="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC" />
|
<action name="layout.dashboard_list" title="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_LAYOUTS_DASHBOARD_LIST_DESC" />
|
||||||
<action name="layout.version" title="COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION_DESC" />
|
<action name="layout.version" title="COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION" description="COM_COMPONENTBUILDER_LAYOUTS_EDIT_VERSION_DESC" />
|
||||||
<action name="layout.export" title="COM_COMPONENTBUILDER_LAYOUTS_EXPORT" description="COM_COMPONENTBUILDER_LAYOUTS_EXPORT_DESC" />
|
|
||||||
<action name="layout.import" title="COM_COMPONENTBUILDER_LAYOUTS_IMPORT" description="COM_COMPONENTBUILDER_LAYOUTS_IMPORT_DESC" />
|
|
||||||
<action name="layout.submenu" title="COM_COMPONENTBUILDER_LAYOUTS_SUBMENU" description="COM_COMPONENTBUILDER_LAYOUTS_SUBMENU_DESC" />
|
<action name="layout.submenu" title="COM_COMPONENTBUILDER_LAYOUTS_SUBMENU" description="COM_COMPONENTBUILDER_LAYOUTS_SUBMENU_DESC" />
|
||||||
<action name="library.access" title="COM_COMPONENTBUILDER_LIBRARIES_ACCESS" description="COM_COMPONENTBUILDER_LIBRARIES_ACCESS_DESC" />
|
<action name="library.access" title="COM_COMPONENTBUILDER_LIBRARIES_ACCESS" description="COM_COMPONENTBUILDER_LIBRARIES_ACCESS_DESC" />
|
||||||
<action name="library.batch" title="COM_COMPONENTBUILDER_LIBRARIES_BATCH_USE" description="COM_COMPONENTBUILDER_LIBRARIES_BATCH_USE_DESC" />
|
<action name="library.batch" title="COM_COMPONENTBUILDER_LIBRARIES_BATCH_USE" description="COM_COMPONENTBUILDER_LIBRARIES_BATCH_USE_DESC" />
|
||||||
@ -482,10 +465,10 @@
|
|||||||
<action name="placeholder.edit.own" title="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_OWN" description="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_OWN_DESC" />
|
<action name="placeholder.edit.own" title="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_OWN" description="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_OWN_DESC" />
|
||||||
<action name="placeholder.edit.state" title="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_STATE" description="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_STATE_DESC" />
|
<action name="placeholder.edit.state" title="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_STATE" description="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_STATE_DESC" />
|
||||||
<action name="placeholder.version" title="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_VERSION_DESC" />
|
<action name="placeholder.version" title="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_PLACEHOLDERS_EDIT_VERSION_DESC" />
|
||||||
<action name="placeholder.export" title="COM_COMPONENTBUILDER_PLACEHOLDERS_EXPORT" description="COM_COMPONENTBUILDER_PLACEHOLDERS_EXPORT_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.run_expansion" title="COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_POWER_RUN_EXPANSION_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.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" />
|
||||||
@ -498,6 +481,22 @@
|
|||||||
<action name="power.edit.state" title="COM_COMPONENTBUILDER_POWERS_EDIT_STATE" description="COM_COMPONENTBUILDER_POWERS_EDIT_STATE_DESC" />
|
<action name="power.edit.state" title="COM_COMPONENTBUILDER_POWERS_EDIT_STATE" description="COM_COMPONENTBUILDER_POWERS_EDIT_STATE_DESC" />
|
||||||
<action name="power.version" title="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION_DESC" />
|
<action name="power.version" title="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_POWERS_EDIT_VERSION_DESC" />
|
||||||
<action name="power.submenu" title="COM_COMPONENTBUILDER_POWERS_SUBMENU" description="COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC" />
|
<action name="power.submenu" title="COM_COMPONENTBUILDER_POWERS_SUBMENU" description="COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC" />
|
||||||
|
<action name="repository.access" title="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS" description="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS_DESC" />
|
||||||
|
<action name="repository.batch" title="COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE" description="COM_COMPONENTBUILDER_REPOSITORIES_BATCH_USE_DESC" />
|
||||||
|
<action name="repository.create" title="COM_COMPONENTBUILDER_REPOSITORIES_CREATE" description="COM_COMPONENTBUILDER_REPOSITORIES_CREATE_DESC" />
|
||||||
|
<action name="repository.dashboard_list" title="COM_COMPONENTBUILDER_REPOSITORIES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_REPOSITORIES_DASHBOARD_LIST_DESC" />
|
||||||
|
<action name="repository.delete" title="COM_COMPONENTBUILDER_REPOSITORIES_DELETE" description="COM_COMPONENTBUILDER_REPOSITORIES_DELETE_DESC" />
|
||||||
|
<action name="repository.edit" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_DESC" />
|
||||||
|
<action name="repository.edit.created_by" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY_DESC" />
|
||||||
|
<action name="repository.edit.created" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE_DESC" />
|
||||||
|
<action name="repository.edit.own" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN_DESC" />
|
||||||
|
<action name="repository.edit.state" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE_DESC" />
|
||||||
|
<action name="repository.version" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION_DESC" />
|
||||||
|
<action name="repository.submenu" title="COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU" description="COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU_DESC" />
|
||||||
|
<action name="search.access" title="COM_COMPONENTBUILDER_SEARCH_ACCESS" description="COM_COMPONENTBUILDER_SEARCH_ACCESS_DESC" />
|
||||||
|
<action name="search.compiler" title="COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SEARCH_COMPILER_BUTTON_ACCESS_DESC" />
|
||||||
|
<action name="search.dashboard_list" title="COM_COMPONENTBUILDER_SEARCH_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_SEARCH_DASHBOARD_LIST_DESC" />
|
||||||
|
<action name="search.submenu" title="COM_COMPONENTBUILDER_SEARCH_SUBMENU" description="COM_COMPONENTBUILDER_SEARCH_SUBMENU_DESC" />
|
||||||
<action name="server.access" title="COM_COMPONENTBUILDER_SERVERS_ACCESS" description="COM_COMPONENTBUILDER_SERVERS_ACCESS_DESC" />
|
<action name="server.access" title="COM_COMPONENTBUILDER_SERVERS_ACCESS" description="COM_COMPONENTBUILDER_SERVERS_ACCESS_DESC" />
|
||||||
<action name="server.batch" title="COM_COMPONENTBUILDER_SERVERS_BATCH_USE" description="COM_COMPONENTBUILDER_SERVERS_BATCH_USE_DESC" />
|
<action name="server.batch" title="COM_COMPONENTBUILDER_SERVERS_BATCH_USE" description="COM_COMPONENTBUILDER_SERVERS_BATCH_USE_DESC" />
|
||||||
<action name="server.create" title="COM_COMPONENTBUILDER_SERVERS_CREATE" description="COM_COMPONENTBUILDER_SERVERS_CREATE_DESC" />
|
<action name="server.create" title="COM_COMPONENTBUILDER_SERVERS_CREATE" description="COM_COMPONENTBUILDER_SERVERS_CREATE_DESC" />
|
||||||
@ -509,17 +508,12 @@
|
|||||||
<action name="server.edit.own" title="COM_COMPONENTBUILDER_SERVERS_EDIT_OWN" description="COM_COMPONENTBUILDER_SERVERS_EDIT_OWN_DESC" />
|
<action name="server.edit.own" title="COM_COMPONENTBUILDER_SERVERS_EDIT_OWN" description="COM_COMPONENTBUILDER_SERVERS_EDIT_OWN_DESC" />
|
||||||
<action name="server.edit.state" title="COM_COMPONENTBUILDER_SERVERS_EDIT_STATE" description="COM_COMPONENTBUILDER_SERVERS_EDIT_STATE_DESC" />
|
<action name="server.edit.state" title="COM_COMPONENTBUILDER_SERVERS_EDIT_STATE" description="COM_COMPONENTBUILDER_SERVERS_EDIT_STATE_DESC" />
|
||||||
<action name="server.version" title="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION_DESC" />
|
<action name="server.version" title="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION_DESC" />
|
||||||
<action name="server.export" title="COM_COMPONENTBUILDER_SERVERS_EXPORT" description="COM_COMPONENTBUILDER_SERVERS_EXPORT_DESC" />
|
|
||||||
<action name="server.import" title="COM_COMPONENTBUILDER_SERVERS_IMPORT" description="COM_COMPONENTBUILDER_SERVERS_IMPORT_DESC" />
|
|
||||||
<action name="server.submenu" title="COM_COMPONENTBUILDER_SERVERS_SUBMENU" description="COM_COMPONENTBUILDER_SERVERS_SUBMENU_DESC" />
|
<action name="server.submenu" title="COM_COMPONENTBUILDER_SERVERS_SUBMENU" description="COM_COMPONENTBUILDER_SERVERS_SUBMENU_DESC" />
|
||||||
<action name="site_view.get_snippets" title="COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
<action name="site_view.get_snippets" title="COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SITE_VIEW_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="site_view.access" title="COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS_DESC" />
|
<action name="site_view.access" title="COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_SITE_VIEWS_ACCESS_DESC" />
|
||||||
<action name="site_view.batch" title="COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE_DESC" />
|
<action name="site_view.batch" title="COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_SITE_VIEWS_BATCH_USE_DESC" />
|
||||||
<action name="site_view.dashboard_add" title="COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_ADD_DESC" />
|
|
||||||
<action name="site_view.dashboard_list" title="COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST_DESC" />
|
<action name="site_view.dashboard_list" title="COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_SITE_VIEWS_DASHBOARD_LIST_DESC" />
|
||||||
<action name="site_view.version" title="COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_VERSION_DESC" />
|
<action name="site_view.version" title="COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SITE_VIEWS_EDIT_VERSION_DESC" />
|
||||||
<action name="site_view.export" title="COM_COMPONENTBUILDER_SITE_VIEWS_EXPORT" description="COM_COMPONENTBUILDER_SITE_VIEWS_EXPORT_DESC" />
|
|
||||||
<action name="site_view.import" title="COM_COMPONENTBUILDER_SITE_VIEWS_IMPORT" description="COM_COMPONENTBUILDER_SITE_VIEWS_IMPORT_DESC" />
|
|
||||||
<action name="site_view.submenu" title="COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU_DESC" />
|
<action name="site_view.submenu" title="COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_SITE_VIEWS_SUBMENU_DESC" />
|
||||||
<action name="snippet.get_snippets" title="COM_COMPONENTBUILDER_SNIPPET_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SNIPPET_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
<action name="snippet.get_snippets" title="COM_COMPONENTBUILDER_SNIPPET_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SNIPPET_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="snippet.share_snippets" title="COM_COMPONENTBUILDER_SNIPPET_SHARE_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SNIPPET_SHARE_SNIPPETS_BUTTON_ACCESS_DESC" />
|
<action name="snippet.share_snippets" title="COM_COMPONENTBUILDER_SNIPPET_SHARE_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_SNIPPET_SHARE_SNIPPETS_BUTTON_ACCESS_DESC" />
|
||||||
@ -535,8 +529,6 @@
|
|||||||
<action name="snippet.batch" title="COM_COMPONENTBUILDER_SNIPPETS_BATCH_USE" description="COM_COMPONENTBUILDER_SNIPPETS_BATCH_USE_DESC" />
|
<action name="snippet.batch" title="COM_COMPONENTBUILDER_SNIPPETS_BATCH_USE" description="COM_COMPONENTBUILDER_SNIPPETS_BATCH_USE_DESC" />
|
||||||
<action name="snippet.dashboard_list" title="COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST_DESC" />
|
<action name="snippet.dashboard_list" title="COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_SNIPPETS_DASHBOARD_LIST_DESC" />
|
||||||
<action name="snippet.version" title="COM_COMPONENTBUILDER_SNIPPETS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SNIPPETS_EDIT_VERSION_DESC" />
|
<action name="snippet.version" title="COM_COMPONENTBUILDER_SNIPPETS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SNIPPETS_EDIT_VERSION_DESC" />
|
||||||
<action name="snippet.export" title="COM_COMPONENTBUILDER_SNIPPETS_EXPORT" description="COM_COMPONENTBUILDER_SNIPPETS_EXPORT_DESC" />
|
|
||||||
<action name="snippet.import" title="COM_COMPONENTBUILDER_SNIPPETS_IMPORT" description="COM_COMPONENTBUILDER_SNIPPETS_IMPORT_DESC" />
|
|
||||||
<action name="snippet.submenu" title="COM_COMPONENTBUILDER_SNIPPETS_SUBMENU" description="COM_COMPONENTBUILDER_SNIPPETS_SUBMENU_DESC" />
|
<action name="snippet.submenu" title="COM_COMPONENTBUILDER_SNIPPETS_SUBMENU" description="COM_COMPONENTBUILDER_SNIPPETS_SUBMENU_DESC" />
|
||||||
<action name="template.get_snippets" title="COM_COMPONENTBUILDER_TEMPLATE_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_TEMPLATE_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
<action name="template.get_snippets" title="COM_COMPONENTBUILDER_TEMPLATE_GET_SNIPPETS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_TEMPLATE_GET_SNIPPETS_BUTTON_ACCESS_DESC" />
|
||||||
<action name="template.access" title="COM_COMPONENTBUILDER_TEMPLATES_ACCESS" description="COM_COMPONENTBUILDER_TEMPLATES_ACCESS_DESC" />
|
<action name="template.access" title="COM_COMPONENTBUILDER_TEMPLATES_ACCESS" description="COM_COMPONENTBUILDER_TEMPLATES_ACCESS_DESC" />
|
||||||
@ -544,10 +536,7 @@
|
|||||||
<action name="template.dashboard_add" title="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD_DESC" />
|
<action name="template.dashboard_add" title="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_ADD_DESC" />
|
||||||
<action name="template.dashboard_list" title="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST_DESC" />
|
<action name="template.dashboard_list" title="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_TEMPLATES_DASHBOARD_LIST_DESC" />
|
||||||
<action name="template.version" title="COM_COMPONENTBUILDER_TEMPLATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_TEMPLATES_EDIT_VERSION_DESC" />
|
<action name="template.version" title="COM_COMPONENTBUILDER_TEMPLATES_EDIT_VERSION" description="COM_COMPONENTBUILDER_TEMPLATES_EDIT_VERSION_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.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" />
|
||||||
@ -557,8 +546,6 @@
|
|||||||
<action name="validation_rule.edit.own" title="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_OWN" description="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_OWN_DESC" />
|
<action name="validation_rule.edit.own" title="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_OWN" description="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_OWN_DESC" />
|
||||||
<action name="validation_rule.edit.state" title="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_STATE" description="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_STATE_DESC" />
|
<action name="validation_rule.edit.state" title="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_STATE" description="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_STATE_DESC" />
|
||||||
<action name="validation_rule.version" title="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_VERSION_DESC" />
|
<action name="validation_rule.version" title="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_VERSION" description="COM_COMPONENTBUILDER_VALIDATION_RULES_EDIT_VERSION_DESC" />
|
||||||
<action name="validation_rule.export" title="COM_COMPONENTBUILDER_VALIDATION_RULES_EXPORT" description="COM_COMPONENTBUILDER_VALIDATION_RULES_EXPORT_DESC" />
|
|
||||||
<action name="validation_rule.import" title="COM_COMPONENTBUILDER_VALIDATION_RULES_IMPORT" description="COM_COMPONENTBUILDER_VALIDATION_RULES_IMPORT_DESC" />
|
|
||||||
<action name="validation_rule.submenu" title="COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU" description="COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC" />
|
<action name="validation_rule.submenu" title="COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU" description="COM_COMPONENTBUILDER_VALIDATION_RULES_SUBMENU_DESC" />
|
||||||
</section>
|
</section>
|
||||||
<section name="joomla_component">
|
<section name="joomla_component">
|
||||||
@ -594,6 +581,17 @@
|
|||||||
<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.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT_VERSION_DESC" />
|
<action name="joomla_plugin.version" title="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_PLUGINS_EDIT_VERSION_DESC" />
|
||||||
</section>
|
</section>
|
||||||
|
<section name="joomla_power">
|
||||||
|
<action name="joomla_power.edit" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_DESC" />
|
||||||
|
<action name="joomla_power.edit.own" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_OWN" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_OWN_DESC" />
|
||||||
|
<action name="joomla_power.edit.state" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_STATE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_STATE_DESC" />
|
||||||
|
<action name="joomla_power.edit.created_by" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_BY_DESC" />
|
||||||
|
<action name="joomla_power.edit.created" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_CREATED_DATE_DESC" />
|
||||||
|
<action name="joomla_power.create" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_CREATE_DESC" />
|
||||||
|
<action name="joomla_power.delete" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_DELETE" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_DELETE_DESC" />
|
||||||
|
<action name="joomla_power.access" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_ACCESS_DESC" />
|
||||||
|
<action name="joomla_power.version" title="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_JOOMLA_POWERS_EDIT_VERSION_DESC" />
|
||||||
|
</section>
|
||||||
<section name="power">
|
<section name="power">
|
||||||
<action name="power.edit" title="COM_COMPONENTBUILDER_POWERS_EDIT" description="COM_COMPONENTBUILDER_POWERS_EDIT_DESC" />
|
<action name="power.edit" title="COM_COMPONENTBUILDER_POWERS_EDIT" description="COM_COMPONENTBUILDER_POWERS_EDIT_DESC" />
|
||||||
<action name="power.edit.own" title="COM_COMPONENTBUILDER_POWERS_EDIT_OWN" description="COM_COMPONENTBUILDER_POWERS_EDIT_OWN_DESC" />
|
<action name="power.edit.own" title="COM_COMPONENTBUILDER_POWERS_EDIT_OWN" description="COM_COMPONENTBUILDER_POWERS_EDIT_OWN_DESC" />
|
||||||
@ -777,6 +775,17 @@
|
|||||||
<action name="server.access" title="COM_COMPONENTBUILDER_SERVERS_ACCESS" description="COM_COMPONENTBUILDER_SERVERS_ACCESS_DESC" />
|
<action name="server.access" title="COM_COMPONENTBUILDER_SERVERS_ACCESS" description="COM_COMPONENTBUILDER_SERVERS_ACCESS_DESC" />
|
||||||
<action name="server.version" title="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION_DESC" />
|
<action name="server.version" title="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_SERVERS_EDIT_VERSION_DESC" />
|
||||||
</section>
|
</section>
|
||||||
|
<section name="repository">
|
||||||
|
<action name="repository.edit" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_DESC" />
|
||||||
|
<action name="repository.edit.own" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_OWN_DESC" />
|
||||||
|
<action name="repository.edit.state" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_STATE_DESC" />
|
||||||
|
<action name="repository.edit.created_by" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_BY_DESC" />
|
||||||
|
<action name="repository.edit.created" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_CREATED_DATE_DESC" />
|
||||||
|
<action name="repository.create" title="COM_COMPONENTBUILDER_REPOSITORIES_CREATE" description="COM_COMPONENTBUILDER_REPOSITORIES_CREATE_DESC" />
|
||||||
|
<action name="repository.delete" title="COM_COMPONENTBUILDER_REPOSITORIES_DELETE" description="COM_COMPONENTBUILDER_REPOSITORIES_DELETE_DESC" />
|
||||||
|
<action name="repository.access" title="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS" description="COM_COMPONENTBUILDER_REPOSITORIES_ACCESS_DESC" />
|
||||||
|
<action name="repository.version" title="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION" description="COM_COMPONENTBUILDER_REPOSITORIES_EDIT_VERSION_DESC" />
|
||||||
|
</section>
|
||||||
<section name="help_document">
|
<section name="help_document">
|
||||||
<action name="help_document.edit" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_DESC" />
|
<action name="help_document.edit" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_DESC" />
|
||||||
<action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" />
|
<action name="help_document.edit.own" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_EDIT_OWN_DESC" />
|
||||||
@ -896,6 +905,17 @@
|
|||||||
<action name="component_custom_admin_menus.access" title="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_ACCESS_DESC" />
|
<action name="component_custom_admin_menus.access" title="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_ACCESS_DESC" />
|
||||||
<action name="component_custom_admin_menus.version" title="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_EDIT_VERSION_DESC" />
|
<action name="component_custom_admin_menus.version" title="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_CUSTOM_ADMIN_MENUS_EDIT_VERSION_DESC" />
|
||||||
</section>
|
</section>
|
||||||
|
<section name="component_router">
|
||||||
|
<action name="component_router.edit" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_DESC" />
|
||||||
|
<action name="component_router.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_OWN_DESC" />
|
||||||
|
<action name="component_router.edit.state" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_STATE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_STATE_DESC" />
|
||||||
|
<action name="component_router.edit.created_by" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_BY_DESC" />
|
||||||
|
<action name="component_router.edit.created" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_CREATED_DATE_DESC" />
|
||||||
|
<action name="component_router.create" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_CREATE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_CREATE_DESC" />
|
||||||
|
<action name="component_router.delete" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_DELETE" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_DELETE_DESC" />
|
||||||
|
<action name="component_router.access" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_ACCESS_DESC" />
|
||||||
|
<action name="component_router.version" title="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_VERSION" description="COM_COMPONENTBUILDER_COMPONENTS_ROUTERS_EDIT_VERSION_DESC" />
|
||||||
|
</section>
|
||||||
<section name="component_config">
|
<section name="component_config">
|
||||||
<action name="component_config.edit" title="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT" description="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT_DESC" />
|
<action name="component_config.edit" title="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT" description="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT_DESC" />
|
||||||
<action name="component_config.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT_OWN_DESC" />
|
<action name="component_config.edit.own" title="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT_OWN" description="COM_COMPONENTBUILDER_COMPONENTS_CONFIG_EDIT_OWN_DESC" />
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
}
|
}
|
||||||
.fieldMedium { width: 120px; }
|
.fieldMedium { width: 120px; }
|
||||||
.fieldLarge { width: 320px; }
|
.fieldLarge { width: 320px; }
|
||||||
.fieldMid { width: 80px; }
|
.fieldMid { width: 89px; }
|
||||||
.fieldFull { width: 100%; }
|
.fieldFull { width: 100%; }
|
||||||
.fieldSmall { width: 60px; }
|
.fieldSmall { width: 74px; }
|
||||||
code { display: inline-block; margin: 3px;}
|
code { display: inline-block; margin: 3px;}
|
||||||
|
13
admin/assets/css/components_routers.css
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* CSS Document */
|
||||||
|
|
||||||
|
|
13
admin/assets/css/joomla_power.css
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* CSS Document */
|
||||||
|
|
||||||
|
|
13
admin/assets/css/joomla_powers.css
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* CSS Document */
|
||||||
|
|
||||||
|
|
13
admin/assets/css/repositories.css
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* CSS Document */
|
||||||
|
|
||||||
|
|
13
admin/assets/css/repository.css
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* CSS Document */
|
||||||
|
|
||||||
|
|
40
admin/assets/css/search.css
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/**
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* CSS Document */
|
||||||
|
|
||||||
|
.selected {
|
||||||
|
background-color:#d7d8db !important
|
||||||
|
}
|
||||||
|
tr.selected td {
|
||||||
|
background-color:#d7d8db !important
|
||||||
|
}
|
||||||
|
#search_settings_block .controls {
|
||||||
|
margin-left: 1px !important;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
cursor:pointer
|
||||||
|
}
|
||||||
|
.found_code {
|
||||||
|
color: #46a546;
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
.search_details_title {
|
||||||
|
font-size: large;
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
.small_column {
|
||||||
|
padding: 2px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
th.small_column {
|
||||||
|
padding: 2px !important;
|
||||||
|
text-align: center !important;
|
||||||
|
}
|
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 12 KiB |
BIN
admin/assets/images/icons/languages.png
Normal file
After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 34 KiB |
BIN
admin/assets/images/icons/repositories.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
admin/assets/images/icons/search.png
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 65 KiB |
@ -78,7 +78,7 @@ function getLibraries(path) {
|
|||||||
buildLibraries(_paths);
|
buildLibraries(_paths);
|
||||||
} else {
|
} else {
|
||||||
jQuery.get(path)
|
jQuery.get(path)
|
||||||
.success(function(paths) {
|
.done(function(paths) {
|
||||||
// load only this library paths
|
// load only this library paths
|
||||||
jQuery.jStorage.set('JCB-Snippets-Paths', paths, {TTL: expire});
|
jQuery.jStorage.set('JCB-Snippets-Paths', paths, {TTL: expire});
|
||||||
buildLibraries(paths);
|
buildLibraries(paths);
|
||||||
@ -161,7 +161,7 @@ function getSnippets(path, libraryName) {
|
|||||||
jQuery('#snippets-github').html('<h1>'+Joomla.JText._('COM_COMPONENTBUILDER_JCB_COMMUNITY_SNIPPETS')+'</h1>');
|
jQuery('#snippets-github').html('<h1>'+Joomla.JText._('COM_COMPONENTBUILDER_JCB_COMMUNITY_SNIPPETS')+'</h1>');
|
||||||
} else {
|
} else {
|
||||||
jQuery.get(path)
|
jQuery.get(path)
|
||||||
.success(function(paths) {
|
.done(function(paths) {
|
||||||
// load only this library paths
|
// load only this library paths
|
||||||
jQuery.jStorage.set('JCB-Snippets-Paths', paths, {TTL: expire});
|
jQuery.jStorage.set('JCB-Snippets-Paths', paths, {TTL: expire});
|
||||||
setSnippets(paths, libraryName);
|
setSnippets(paths, libraryName);
|
||||||
@ -190,7 +190,7 @@ function setSnippets(paths, libraryName) {
|
|||||||
fromLocal = true;
|
fromLocal = true;
|
||||||
} else {
|
} else {
|
||||||
jQuery.get(snippetPath+value.path)
|
jQuery.get(snippetPath+value.path)
|
||||||
.success(function(snippet) {
|
.done(function(snippet) {
|
||||||
// convert the string to json.object
|
// convert the string to json.object
|
||||||
snippet = jQuery.parseJSON(snippet);
|
snippet = jQuery.parseJSON(snippet);
|
||||||
jQuery.jStorage.set(value.path, snippet, {TTL: expire});
|
jQuery.jStorage.set(value.path, snippet, {TTL: expire});
|
||||||
@ -469,7 +469,7 @@ function getSnippetModal(key, type) {
|
|||||||
showSnippetModal(_snippet, type);
|
showSnippetModal(_snippet, type);
|
||||||
} else {
|
} else {
|
||||||
jQuery.get('https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder-Snippets/master/'+key)
|
jQuery.get('https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder-Snippets/master/'+key)
|
||||||
.success(function(snippet) {
|
.done(function(snippet) {
|
||||||
// convert the string to json.object
|
// convert the string to json.object
|
||||||
snippet = jQuery.parseJSON(snippet);
|
snippet = jQuery.parseJSON(snippet);
|
||||||
jQuery.jStorage.set(key, snippet, {TTL: expire});
|
jQuery.jStorage.set(key, snippet, {TTL: expire});
|
||||||
@ -527,7 +527,6 @@ function getKeyID(key) {
|
|||||||
// return the id build
|
// return the id build
|
||||||
return keyID;
|
return keyID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get key ID
|
// get key ID
|
||||||
function getKeyID(key) {
|
function getKeyID(key) {
|
||||||
// get useful ID
|
// get useful ID
|
||||||
|
957
admin/assets/js/search.js
Normal file
@ -0,0 +1,957 @@
|
|||||||
|
/**
|
||||||
|
* @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 */
|
||||||
|
/**
|
||||||
|
* JS Function to execute the search
|
||||||
|
*/
|
||||||
|
const doSearch = async (signal, tables) => {
|
||||||
|
try {
|
||||||
|
// build form
|
||||||
|
const formData = new FormData();
|
||||||
|
|
||||||
|
// load the result table
|
||||||
|
const resultsTable = new DataTable('#search_results_table');
|
||||||
|
|
||||||
|
// get the search mode
|
||||||
|
let typeSearch = modeObject.querySelector('input[type=\'radio\']:checked').value;
|
||||||
|
|
||||||
|
// set some search values
|
||||||
|
let searchValue = searchObject.value;
|
||||||
|
let replaceValue = replaceObject.value;
|
||||||
|
let matchValue = matchObject.checked ? 1 : 0;
|
||||||
|
let wholeValue = wholeObject.checked ? 1 : 0;
|
||||||
|
let regexValue = regexObject.checked ? 1 : 0;
|
||||||
|
|
||||||
|
// add the form data
|
||||||
|
formData.append('table_name', '');
|
||||||
|
formData.append('type_search', typeSearch);
|
||||||
|
formData.append('search_value', searchValue);
|
||||||
|
formData.append('replace_value', replaceValue);
|
||||||
|
formData.append('match_case', matchValue);
|
||||||
|
formData.append('whole_word', wholeValue);
|
||||||
|
formData.append('regex_search', regexValue);
|
||||||
|
|
||||||
|
// update the URL
|
||||||
|
updateUrlQuery(searchValue, replaceValue, matchValue, wholeValue, regexValue, typeSearch);
|
||||||
|
|
||||||
|
let abort_this_search_values = false;
|
||||||
|
|
||||||
|
// reset the progress bar
|
||||||
|
searchProgressBarObject.style.width = '0%';
|
||||||
|
searchProgressBarObject.innerHTML = '0%';
|
||||||
|
|
||||||
|
// show the progress bar
|
||||||
|
searchProgressObject.style.display = '';
|
||||||
|
|
||||||
|
// hidde the search button
|
||||||
|
startSearchButton.style.display = 'none';
|
||||||
|
|
||||||
|
// show the stop search button
|
||||||
|
stopSearchButton.style.display = '';
|
||||||
|
|
||||||
|
// start search timer
|
||||||
|
startSearchTimer();
|
||||||
|
|
||||||
|
// reset our global counters
|
||||||
|
fieldCount = 0;
|
||||||
|
lineCount = 0;
|
||||||
|
|
||||||
|
// set our local counters
|
||||||
|
let total = 0;
|
||||||
|
let progress = tables.length;
|
||||||
|
let index;
|
||||||
|
|
||||||
|
for (index = 0; index < progress; index++) {
|
||||||
|
|
||||||
|
let tableName = tables[index];
|
||||||
|
|
||||||
|
// add the table name
|
||||||
|
formData.set('table_name', tableName);
|
||||||
|
|
||||||
|
let options = {
|
||||||
|
signal: signal,
|
||||||
|
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
||||||
|
body: formData
|
||||||
|
}
|
||||||
|
|
||||||
|
if (abort_this_search_values) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
const response = await fetch(UrlAjax + 'doSearch', options).then(response => {
|
||||||
|
total++;
|
||||||
|
// return the json response
|
||||||
|
if (response.ok) {
|
||||||
|
return response.json();
|
||||||
|
} else {
|
||||||
|
UIkit.notify(Joomla.JText._('COM_COMPONENTBUILDER_THE_SEARCH_PROCESS_HAD_AN_ERROR_WITH_TABLE') + ' ' + tableName, {pos:'top-right', status:'danger'});
|
||||||
|
}
|
||||||
|
}).then((data) => {
|
||||||
|
if (typeof data.success !== 'undefined') {
|
||||||
|
UIkit.notify(data.success, {pos:'top-right', timeout : 200, status:'success'});
|
||||||
|
//} else if (typeof data.not_found !== 'undefined') {
|
||||||
|
// UIkit.notify(data.not_found, {pos:'bottom-right', timeout : 200});
|
||||||
|
}
|
||||||
|
if (typeof data.items !== 'undefined') {
|
||||||
|
addTableItems(resultsTable, data.items, typeSearch);
|
||||||
|
}
|
||||||
|
if (typeof data.fields_count !== 'undefined') {
|
||||||
|
fieldCount += data.fields_count;
|
||||||
|
}
|
||||||
|
if (typeof data.line_count !== 'undefined') {
|
||||||
|
lineCount += data.line_count;
|
||||||
|
}
|
||||||
|
// calculate the percent
|
||||||
|
let percent = 100.0 * (total / progress);
|
||||||
|
// update the progress bar
|
||||||
|
searchProgressObject.style.display = ''; // always make sure it still shows...
|
||||||
|
searchProgressBarObject.style.width = percent.toFixed(2) + '%';
|
||||||
|
searchProgressBarObject.innerHTML = percent.toFixed(2) + '%';
|
||||||
|
// when complete hide the progress bar
|
||||||
|
if (progress == total) {
|
||||||
|
let total_field_line = ' ' + fieldCount + ' ' + Joomla.JText._('COM_COMPONENTBUILDER_FIELDS_THAT_HAD') + ' ' + lineCount + ' ' + Joomla.JText._('COM_COMPONENTBUILDER_LINES') + ' ';
|
||||||
|
if (progress == 1) {
|
||||||
|
searchProgressBarObject.innerHTML = Joomla.JText._('COM_COMPONENTBUILDER_SEARCHING') + ' ' + tableName + total_field_line + Joomla.JText._('COM_COMPONENTBUILDER_AND_FINISHED_THE_SEARCH_IN') + ' ' + getSearchLenght() + ' ' + Joomla.JText._('COM_COMPONENTBUILDER_SECONDS');
|
||||||
|
} else {
|
||||||
|
searchProgressBarObject.innerHTML = Joomla.JText._('COM_COMPONENTBUILDER_SEARCHING') + ' ' + progress + ' ' + Joomla.JText._('COM_COMPONENTBUILDER_TABLES_WITH') + total_field_line + Joomla.JText._('COM_COMPONENTBUILDER_AND_FINISHED_THE_SEARCH_IN') + ' ' + getSearchLenght() + ' ' + Joomla.JText._('COM_COMPONENTBUILDER_SECONDS');
|
||||||
|
}
|
||||||
|
// show the search button
|
||||||
|
startSearchButton.style.display = '';
|
||||||
|
// hidde the stop search button
|
||||||
|
stopSearchButton.style.display = 'none';
|
||||||
|
setTimeout(function () {
|
||||||
|
// hide the progress bar again
|
||||||
|
searchProgressObject.style.display = 'none';
|
||||||
|
}, 13000);
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
if (error.name === "AbortError") {
|
||||||
|
abort_this_search_values = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
} finally {
|
||||||
|
// Executed regardless if we caught the error
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to start search timer
|
||||||
|
*/
|
||||||
|
const startSearchTimer = () => {
|
||||||
|
startSearchTime = new Date();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to get search lenght
|
||||||
|
*/
|
||||||
|
const getSearchLenght = () => {
|
||||||
|
// set ending time
|
||||||
|
endSearchTime = new Date();
|
||||||
|
|
||||||
|
// get diff in ms
|
||||||
|
var timeDiff = endSearchTime - startSearchTime;
|
||||||
|
|
||||||
|
// strip the ms
|
||||||
|
timeDiff /= 1000;
|
||||||
|
|
||||||
|
// get seconds
|
||||||
|
return Math.round(timeDiff);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to fetch selected item
|
||||||
|
*/
|
||||||
|
const getSelectedItem = async (table, row, field, line) => {
|
||||||
|
try {
|
||||||
|
// get the search mode
|
||||||
|
let mode = modeObject.querySelector('input[type=\'radio\']:checked').value;
|
||||||
|
|
||||||
|
// build form
|
||||||
|
const formData = new FormData();
|
||||||
|
|
||||||
|
formData.append('field_name', field);
|
||||||
|
formData.append('row_id', row);
|
||||||
|
formData.append('table_name', table);
|
||||||
|
formData.append('search_value', searchObject.value);
|
||||||
|
formData.append('replace_value', replaceObject.value);
|
||||||
|
formData.append('match_case', matchObject.checked ? 1 : 0);
|
||||||
|
formData.append('whole_word', wholeObject.checked ? 1 : 0);
|
||||||
|
formData.append('regex_search', regexObject.checked ? 1 : 0);
|
||||||
|
|
||||||
|
// get search value
|
||||||
|
if (mode == 2) {
|
||||||
|
// add the line value
|
||||||
|
formData.append('line_nr', line);
|
||||||
|
// calling URL
|
||||||
|
postURL = UrlAjax + 'getReplaceValue';
|
||||||
|
} else {
|
||||||
|
// calling URL
|
||||||
|
postURL = UrlAjax + 'getSearchValue';
|
||||||
|
}
|
||||||
|
|
||||||
|
let options = {
|
||||||
|
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
||||||
|
body: formData
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await fetch(postURL, options).then(response => {
|
||||||
|
if (response.ok) {
|
||||||
|
return response.json();
|
||||||
|
}
|
||||||
|
}).then((data) => {
|
||||||
|
if (typeof data.success !== 'undefined') {
|
||||||
|
UIkit.notify(data.success, {pos:'top-right', status:'success'});
|
||||||
|
}
|
||||||
|
if (typeof data.value !== 'undefined') {
|
||||||
|
addSelectedItem(data.value, table, row, field, line);
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
} finally {
|
||||||
|
// Executed regardless if we caught the error
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to check if we should save/update the all current found items
|
||||||
|
*/
|
||||||
|
const replaceAllCheck = () => {
|
||||||
|
// get the current searc and replace values
|
||||||
|
let searchValue = searchObject.value;
|
||||||
|
let replaceValue = replaceObject.value;
|
||||||
|
// load question
|
||||||
|
let question = Joomla.JText._('COM_COMPONENTBUILDER_YOUR_ARE_ABOUT_TO_UPDATE_BALLB_VALUES_THAT_CAN_BE_FOUND_IN_THE_DATABASE') + '<br />' +
|
||||||
|
Joomla.JText._('COM_COMPONENTBUILDER_YOU_WILL_REPLACE') + ': [<span class="found_code">' + htmlentities(searchValue) + '</span>] ' +
|
||||||
|
Joomla.JText._('COM_COMPONENTBUILDER_WITH') + ': [<span class="found_code">' + htmlentities(replaceValue) + '</span>]<br />' +
|
||||||
|
Joomla.JText._('COM_COMPONENTBUILDER_THIS_CAN_NOT_BE_UNDONE_BYOU_HAVE_BEEN_WARNEDB') + '<br /><br />' +
|
||||||
|
Joomla.JText._('COM_COMPONENTBUILDER_ARE_YOU_THEREFORE_ABSOLUTELY_SURE_YOU_WANT_TO_CONTINUE');
|
||||||
|
// do check
|
||||||
|
UIkit.modal.confirm(question, function () {
|
||||||
|
|
||||||
|
// show the search settings again
|
||||||
|
showSearch();
|
||||||
|
|
||||||
|
// Create new controller and issue new request
|
||||||
|
controller_replace = new AbortController();
|
||||||
|
|
||||||
|
// check if any specific table was set
|
||||||
|
let tables = [];
|
||||||
|
let table = tableObject.value;
|
||||||
|
if (table != -1) {
|
||||||
|
tables.push(table);
|
||||||
|
replaceAll(controller_replace.signal, tables);
|
||||||
|
} else {
|
||||||
|
replaceAll(controller_replace.signal, searchTables);
|
||||||
|
}
|
||||||
|
}, {labels: { Ok: Joomla.JText._('COM_COMPONENTBUILDER_YES_UPDATE_ALL'), Cancel: Joomla.JText._('COM_COMPONENTBUILDER_NO') }});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to execute the search
|
||||||
|
*/
|
||||||
|
const replaceAll = async (signal, tables) => {
|
||||||
|
try {
|
||||||
|
// build form
|
||||||
|
const formData = new FormData();
|
||||||
|
|
||||||
|
// get the search mode
|
||||||
|
let typeSearch = modeObject.querySelector('input[type=\'radio\']:checked').value;
|
||||||
|
|
||||||
|
// set some search values
|
||||||
|
let searchValue = searchObject.value;
|
||||||
|
let replaceValue = replaceObject.value;
|
||||||
|
let matchValue = matchObject.checked ? 1 : 0;
|
||||||
|
let wholeValue = wholeObject.checked ? 1 : 0;
|
||||||
|
let regexValue = regexObject.checked ? 1 : 0;
|
||||||
|
|
||||||
|
// add the form data
|
||||||
|
formData.append('table_name', '');
|
||||||
|
formData.append('type_search', typeSearch);
|
||||||
|
formData.append('search_value', searchValue);
|
||||||
|
formData.append('replace_value', replaceValue);
|
||||||
|
formData.append('match_case', matchValue);
|
||||||
|
formData.append('whole_word', wholeValue);
|
||||||
|
formData.append('regex_search', regexValue);
|
||||||
|
|
||||||
|
// reset the progress bar
|
||||||
|
replaceProgressBarObject.style.width = '0%';
|
||||||
|
|
||||||
|
// show the progress bar
|
||||||
|
replaceProgressObject.style.display = '';
|
||||||
|
|
||||||
|
let abort_this_replace_values = false;
|
||||||
|
|
||||||
|
let total = 0;
|
||||||
|
let progress = tables.length;
|
||||||
|
let index;
|
||||||
|
|
||||||
|
for (index = 0; index < progress; index++) {
|
||||||
|
|
||||||
|
let tableName = tables[index];
|
||||||
|
|
||||||
|
// add the table name
|
||||||
|
formData.set('table_name', tableName);
|
||||||
|
|
||||||
|
let options = {
|
||||||
|
signal: signal,
|
||||||
|
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
||||||
|
body: formData
|
||||||
|
}
|
||||||
|
|
||||||
|
if (abort_this_replace_values) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
const response = await fetch(UrlAjax + 'replaceAll', options).then(response => {
|
||||||
|
total++;
|
||||||
|
if (response.ok) {
|
||||||
|
return response.json();
|
||||||
|
} else {
|
||||||
|
UIkit.notify(Joomla.JText._('COM_COMPONENTBUILDER_THE_REPLACE_PROCESS_HAD_AN_ERROR_WITH_TABLE') + ' ' + tableName, {pos:'top-right', status:'danger'});
|
||||||
|
}
|
||||||
|
}).then((data) => {
|
||||||
|
if (typeof data.success !== 'undefined') {
|
||||||
|
UIkit.notify(data.success, {pos:'top-right', timeout : 200, status:'success'});
|
||||||
|
} else if (typeof data.error !== 'undefined') {
|
||||||
|
UIkit.notify(data.error, {pos:'bottom-right', timeout : 200});
|
||||||
|
}
|
||||||
|
// calculate the percent
|
||||||
|
let percent = 100.0 * (total / progress);
|
||||||
|
// update the progress bar
|
||||||
|
replaceProgressBarObject.style.width = percent.toFixed(2) + '%';
|
||||||
|
// when complete hide the progress bar
|
||||||
|
if (progress == total) {
|
||||||
|
setTimeout(function () {
|
||||||
|
// hide the progress bar again
|
||||||
|
replaceProgressObject.style.display = 'none';
|
||||||
|
// we clear the table again
|
||||||
|
clearAll();
|
||||||
|
// if not reqex we reverse the search for you so you can see the update was a success
|
||||||
|
if (regexValue == 0) {
|
||||||
|
// set the replace value as the search value
|
||||||
|
UIkit.modal.confirm(Joomla.JText._('COM_COMPONENTBUILDER_WOULD_YOU_LIKE_TO_DO_A_REVERSE_SEARCH'), function(){
|
||||||
|
startNewSearch(replaceValue, searchValue, matchValue, wholeValue, regexValue, 2);
|
||||||
|
}, function () {
|
||||||
|
UIkit.modal.confirm(Joomla.JText._('COM_COMPONENTBUILDER_WOULD_YOU_LIKE_TO_REPEAT_THE_SAME_SEARCH'), function(){
|
||||||
|
startSearch();
|
||||||
|
}, function () {
|
||||||
|
clearSearch();
|
||||||
|
}, {labels: { Ok: Joomla.JText._('COM_COMPONENTBUILDER_YES'), Cancel: Joomla.JText._('COM_COMPONENTBUILDER_NO') }});
|
||||||
|
}, {labels: { Ok: Joomla.JText._('COM_COMPONENTBUILDER_YES'), Cancel: Joomla.JText._('COM_COMPONENTBUILDER_NO') }});
|
||||||
|
} else {
|
||||||
|
// else we search it again just to prove its changed
|
||||||
|
UIkit.modal.confirm(Joomla.JText._('COM_COMPONENTBUILDER_WOULD_YOU_LIKE_TO_REPEAT_THE_SAME_SEARCH'), function(){
|
||||||
|
startSearch();
|
||||||
|
}, function () {
|
||||||
|
clearSearch();
|
||||||
|
}, {labels: { Ok: Joomla.JText._('COM_COMPONENTBUILDER_YES'), Cancel: Joomla.JText._('COM_COMPONENTBUILDER_NO') }});
|
||||||
|
}
|
||||||
|
}, 3000);
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
if (error.name === "AbortError") {
|
||||||
|
abort_this_replace_values = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
} finally {
|
||||||
|
// Executed regardless if we caught the error
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to check if we should save/update the current selected item
|
||||||
|
*/
|
||||||
|
const setValueCheck = (row, field, table) => {
|
||||||
|
// load question
|
||||||
|
let question = Joomla.JText._('COM_COMPONENTBUILDER_YOUR_ARE_ABOUT_TO_UPDATE_ROW') + ' (' + row + ') -> (' + field + ') ' +
|
||||||
|
Joomla.JText._('COM_COMPONENTBUILDER_FIELD_IN_THE') + ' (' + table + ') ' + Joomla.JText._('COM_COMPONENTBUILDER_TABLE') + '.<br /><br />' +
|
||||||
|
Joomla.JText._('COM_COMPONENTBUILDER_THIS_CAN_NOT_BE_UNDONE_ARE_YOU_SURE_YOU_WANT_TO_CONTINUE');
|
||||||
|
// do check
|
||||||
|
UIkit.modal.confirm(question, function () {
|
||||||
|
setValue(row, field, table);
|
||||||
|
}, {labels: { Ok: Joomla.JText._('COM_COMPONENTBUILDER_YES'), Cancel: Joomla.JText._('COM_COMPONENTBUILDER_NO') }});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to set the current selected item
|
||||||
|
*/
|
||||||
|
const setValue = async (row, field, table) => {
|
||||||
|
try {
|
||||||
|
// get the value from the editor
|
||||||
|
let value = editorObject.getValue();
|
||||||
|
|
||||||
|
// build form
|
||||||
|
const formData = new FormData();
|
||||||
|
|
||||||
|
formData.append('value', value);
|
||||||
|
formData.append('row_id', row);
|
||||||
|
formData.append('field_name', field);
|
||||||
|
formData.append('table_name', table);
|
||||||
|
|
||||||
|
let options = {
|
||||||
|
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
||||||
|
body: formData
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await fetch(UrlAjax + 'setValue', options).then(response => {
|
||||||
|
if (response.ok) {
|
||||||
|
return response.json();
|
||||||
|
}
|
||||||
|
}).then((data) => {
|
||||||
|
if (typeof data.success !== 'undefined') {
|
||||||
|
UIkit.notify(data.success, {pos:'top-right', status:'success'});
|
||||||
|
clearSelectedItem();
|
||||||
|
tableActiveObject.remove().draw();
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
} finally {
|
||||||
|
// Executed regardless if we caught the error
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to add item to the editor
|
||||||
|
*/
|
||||||
|
const addSelectedItem = async (value, table, row, field, line) => {
|
||||||
|
// display area
|
||||||
|
if (value.length > 1)
|
||||||
|
{
|
||||||
|
// add value to editor
|
||||||
|
editorObject.setValue(value);
|
||||||
|
|
||||||
|
// set item details notice area
|
||||||
|
itemNoticeObject.style.display = '';
|
||||||
|
itemEditButtonObject.innerHTML = editButtonSelected;
|
||||||
|
itemTableNameObject.innerHTML = table;
|
||||||
|
itemRowIdObject.innerHTML = row;
|
||||||
|
itemFieldNameObject.innerHTML = field;
|
||||||
|
itemLineNumberObject.innerHTML = line;
|
||||||
|
// set button and editor line if we have a line number
|
||||||
|
if (typeof line == 'number') {
|
||||||
|
// show and set the save button
|
||||||
|
buttonUpdateItemObject.style.display = '';
|
||||||
|
buttonUpdateItemObject.setAttribute('onclick',"setValueCheck(" + row + ", '" + field + "', '" + table + "');");
|
||||||
|
// Get line info from current state.
|
||||||
|
const line_info = editorObject.instance.state.doc.line(line);
|
||||||
|
editorObject.instance.dispatch({
|
||||||
|
// Set selection to that entire line.
|
||||||
|
selection: { head: line_info.from, anchor: line_info.to },
|
||||||
|
// Ensure the selection is shown in viewport
|
||||||
|
scrollIntoView: true
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// no line so no data we can't save this data
|
||||||
|
buttonUpdateItemObject.setAttribute('onclick', "");
|
||||||
|
buttonUpdateItemObject.style.display = 'none';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to clear item from the editor and hide it
|
||||||
|
*/
|
||||||
|
const clearSelectedItem = async () => {
|
||||||
|
// display area
|
||||||
|
editorObject.setValue('');
|
||||||
|
// clear notice area
|
||||||
|
itemNoticeObject.style.display = 'none';
|
||||||
|
itemEditButtonObject.innerHTML = '...';
|
||||||
|
itemTableNameObject.innerHTML = '...';
|
||||||
|
itemRowIdObject.innerHTML = '...';
|
||||||
|
itemFieldNameObject.innerHTML = '...';
|
||||||
|
itemLineNumberObject.innerHTML = '...';
|
||||||
|
// clear update button
|
||||||
|
buttonUpdateItemObject.setAttribute('onclick', '');
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to clear table items
|
||||||
|
*/
|
||||||
|
const clearTableItems = async () => {
|
||||||
|
let table = new DataTable('#search_results_table');
|
||||||
|
// clear search
|
||||||
|
table.search('').columns().search( '' );
|
||||||
|
// clear items
|
||||||
|
table.clear().draw( true );
|
||||||
|
|
||||||
|
// hide the update all items
|
||||||
|
buttonUpdateAllStyleDisplay('none');
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to clear all details of the search
|
||||||
|
*/
|
||||||
|
const clearAll = async () => {
|
||||||
|
// clear all details
|
||||||
|
clearTableItems();
|
||||||
|
clearSelectedItem();
|
||||||
|
searchedObject.innerHTML = '....';
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to clear the search and replace values
|
||||||
|
*/
|
||||||
|
const clearSearch = async () => {
|
||||||
|
// clear the search and replace values
|
||||||
|
searchObject.value = '';
|
||||||
|
replaceObject.value = '';
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to set the search and replace values
|
||||||
|
*/
|
||||||
|
const startNewSearch = async (search, replace = '', match = 0, whole = 0, regex = 0, mode = 1) => {
|
||||||
|
// redirect to a new search
|
||||||
|
window.location.href = getSearchURL(search, replace, match, whole, regex, mode);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to update the URL of the browser with the search query
|
||||||
|
*/
|
||||||
|
const updateUrlQuery = async (search, replace = '', match = 0, whole = 0, regex = 0, mode = 1) => {
|
||||||
|
// update the url query
|
||||||
|
window.history.pushState({}, '', getSearchURL(search, replace, match, whole, regex, mode));
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to get the current search URL
|
||||||
|
*/
|
||||||
|
const getSearchURL = (search, replace = '', match = 0, whole = 0, regex = 0, mode = 1) => {
|
||||||
|
// check if its a single table search
|
||||||
|
let table = tableObject.value;
|
||||||
|
let table_name = '';
|
||||||
|
if (table != -1) {
|
||||||
|
table_name = '&table_name=' + urlencode(table);
|
||||||
|
}
|
||||||
|
// update the type of search
|
||||||
|
if (mode == 1) {
|
||||||
|
return UrlSearch + table_name +
|
||||||
|
'&search_value=' + urlencode(search) +
|
||||||
|
'&type_search=1&match_case=' + match +
|
||||||
|
'&whole_word=' + whole +
|
||||||
|
'®ex_search=' + regex;
|
||||||
|
} else if (mode == 2) {
|
||||||
|
return UrlSearch + table_name +
|
||||||
|
'&search_value=' + urlencode(search) +
|
||||||
|
'&replace_value=' + urlencode(replace) +
|
||||||
|
'&type_search=2&match_case=' + match +
|
||||||
|
'&whole_word=' + whole +
|
||||||
|
'®ex_search=' + regex;
|
||||||
|
}
|
||||||
|
return UrlSearch + table_name;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to check if a element has a class
|
||||||
|
*/
|
||||||
|
const hasClass = (elementObject, classNaam) => {
|
||||||
|
return !!elementObject.className.match(new RegExp('(\\s|^)' + classNaam + '(\\s|$)'));
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function add a class from an element
|
||||||
|
*/
|
||||||
|
const addClass = (elementObject, classNaam) => {
|
||||||
|
if (!hasClass(elementObject, classNaam)) {
|
||||||
|
elementObject.className += " " + classNaam;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function remove a class from an element
|
||||||
|
*/
|
||||||
|
const removeClass = (elementObject, classNaam) => {
|
||||||
|
if (hasClass(elementObject, classNaam)) {
|
||||||
|
var reg = new RegExp('(\\s|^)' + classNaam + '(\\s|$)');
|
||||||
|
elementObject.className = elementObject.className.replace(reg, ' ');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to add items to the table
|
||||||
|
*/
|
||||||
|
const addTableItems = async (table, items, typeSearch) => {
|
||||||
|
table.rows.add(items).draw( false );
|
||||||
|
if (typeSearch == 2) {
|
||||||
|
buttonUpdateAllStyleDisplay(''); // TODO should only show once all items are loaded
|
||||||
|
} else {
|
||||||
|
buttonUpdateAllStyleDisplay('none'); // TODO should only show once all items are loaded
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to update the update all button
|
||||||
|
*/
|
||||||
|
const buttonUpdateAllStyleDisplay = async (value) => {
|
||||||
|
buttonUpdateAllObject.forEach((buttonObject) => {
|
||||||
|
buttonObject.style.display = value;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to execute (A) on search/replace text change , (B) on search options changes
|
||||||
|
*/
|
||||||
|
const startSearch = (field, forced = false) => {
|
||||||
|
// check mode
|
||||||
|
let mode = modeObject.querySelector('input[type=\'radio\']:checked').value;
|
||||||
|
if (mode == 0) {
|
||||||
|
// reset the search area
|
||||||
|
window.location.href = UrlSearch;
|
||||||
|
}
|
||||||
|
// check if we have an Enter click
|
||||||
|
if (field && typeof field.code !== 'undefined' && field.code === "Enter") {
|
||||||
|
forced = true;
|
||||||
|
}
|
||||||
|
// get replace value if set
|
||||||
|
const replaceValue = replaceObject.value;
|
||||||
|
if (replaceValue.length > 0) {
|
||||||
|
// set the searched value
|
||||||
|
replacedObject.innerHTML = htmlentities(replaceValue);
|
||||||
|
} else {
|
||||||
|
replacedObject.innerHTML = '';
|
||||||
|
}
|
||||||
|
// get search value
|
||||||
|
const searchValue = searchObject.value;
|
||||||
|
if (searchValue.length > 2 || (searchValue.length > 0 && forced)) {
|
||||||
|
// Cancel any ongoing requests
|
||||||
|
if (controller) controller.abort();
|
||||||
|
|
||||||
|
// we clear the table again
|
||||||
|
clearAll();
|
||||||
|
|
||||||
|
// set the searched value
|
||||||
|
searchedObject.innerHTML = htmlentities(searchValue);
|
||||||
|
|
||||||
|
// Create new controller and issue new request
|
||||||
|
controller = new AbortController();
|
||||||
|
|
||||||
|
// check if any specific table was set
|
||||||
|
let tables = [];
|
||||||
|
let table = tableObject.value;
|
||||||
|
if (table != -1) {
|
||||||
|
tables.push(table);
|
||||||
|
doSearch(controller.signal, tables);
|
||||||
|
} else {
|
||||||
|
doSearch(controller.signal, searchTables);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Clear the table
|
||||||
|
clearAll();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to stop a search
|
||||||
|
*/
|
||||||
|
const stopSearch = () => {
|
||||||
|
// Cancel any ongoing requests
|
||||||
|
if (controller) controller.abort();
|
||||||
|
// show the search button
|
||||||
|
startSearchButton.style.display = '';
|
||||||
|
// hidde the stop search button
|
||||||
|
stopSearchButton.style.display = 'none';
|
||||||
|
// remove the progress bar at some point
|
||||||
|
setTimeout(function () {
|
||||||
|
// hide the progress bar again
|
||||||
|
searchProgressObject.style.display = 'none';
|
||||||
|
}, 13000);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to hide search settings and show table search
|
||||||
|
*/
|
||||||
|
const showSearch = () => {
|
||||||
|
searchSettingsObject.style.display = '';
|
||||||
|
searchDetailsObject.style.display = 'none';
|
||||||
|
replaceDetailsObject.style.display = 'none';
|
||||||
|
tableSearchObject.style.display = 'none';
|
||||||
|
tableLengthObject.style.display = 'none';
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JS Function to show search settings and hide table search
|
||||||
|
*/
|
||||||
|
const hideSearch = () => {
|
||||||
|
searchSettingsObject.style.display = 'none';
|
||||||
|
searchDetailsObject.style.display = '';
|
||||||
|
tableSearchObject.style.display = '';
|
||||||
|
tableLengthObject.style.display = '';
|
||||||
|
// check if we are in replace mode
|
||||||
|
let mode = modeObject.querySelector('input[type=\'radio\']:checked').value;
|
||||||
|
if (mode == 2) {
|
||||||
|
replaceDetailsObject.style.display = '';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function htmlentities(string, quoteStyle, charset, doubleEncode) {
|
||||||
|
// discuss at: https://locutus.io/php/htmlentities/
|
||||||
|
// original by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// revised by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// revised by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// improved by: nobbler
|
||||||
|
// improved by: Jack
|
||||||
|
// improved by: Rafał Kukawski (https://blog.kukawski.pl)
|
||||||
|
// improved by: Dj (https://locutus.io/php/htmlentities:425#comment_134018)
|
||||||
|
// bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
|
||||||
|
// bugfixed by: Brett Zamir (https://brett-zamir.me)
|
||||||
|
// input by: Ratheous
|
||||||
|
// note 1: function is compatible with PHP 5.2 and older
|
||||||
|
// example 1: htmlentities('Kevin & van Zonneveld')
|
||||||
|
// returns 1: 'Kevin & van Zonneveld'
|
||||||
|
// example 2: htmlentities("foo'bar","ENT_QUOTES")
|
||||||
|
// returns 2: 'foo'bar'
|
||||||
|
const hashMap = getHtmlTranslationTable('HTML_ENTITIES', quoteStyle)
|
||||||
|
string = string === null ? '' : string + ''
|
||||||
|
if (!hashMap) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if (quoteStyle && quoteStyle === 'ENT_QUOTES') {
|
||||||
|
hashMap["'"] = '''
|
||||||
|
}
|
||||||
|
doubleEncode = doubleEncode === null || !!doubleEncode
|
||||||
|
const regex = new RegExp('&(?:#\\d+|#x[\\da-f]+|[a-zA-Z][\\da-z]*);|[' +
|
||||||
|
Object.keys(hashMap)
|
||||||
|
.join('')
|
||||||
|
// replace regexp special chars
|
||||||
|
.replace(/([()[\]{}\-.*+?^$|/\\])/g, '\\$1') + ']',
|
||||||
|
'g')
|
||||||
|
return string.replace(regex, function (ent) {
|
||||||
|
if (ent.length > 1) {
|
||||||
|
return doubleEncode ? hashMap['&'] + ent.substr(1) : ent
|
||||||
|
}
|
||||||
|
return hashMap[ent]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function getHtmlTranslationTable(table, quoteStyle) { // eslint-disable-line camelcase
|
||||||
|
// discuss at: https://locutus.io/php/get_html_translation_table/
|
||||||
|
// original by: Philip Peterson
|
||||||
|
// revised by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// bugfixed by: noname
|
||||||
|
// bugfixed by: Alex
|
||||||
|
// bugfixed by: Marco
|
||||||
|
// bugfixed by: madipta
|
||||||
|
// bugfixed by: Brett Zamir (https://brett-zamir.me)
|
||||||
|
// bugfixed by: T.Wild
|
||||||
|
// improved by: KELAN
|
||||||
|
// improved by: Brett Zamir (https://brett-zamir.me)
|
||||||
|
// input by: Frank Forte
|
||||||
|
// input by: Ratheous
|
||||||
|
// note 1: It has been decided that we're not going to add global
|
||||||
|
// note 1: dependencies to Locutus, meaning the constants are not
|
||||||
|
// note 1: real constants, but strings instead. Integers are also supported if someone
|
||||||
|
// note 1: chooses to create the constants themselves.
|
||||||
|
// example 1: get_html_translation_table('HTML_SPECIALCHARS')
|
||||||
|
// returns 1: {'"': '"', '&': '&', '<': '<', '>': '>'}
|
||||||
|
|
||||||
|
const entities = {}
|
||||||
|
const hashMap = {}
|
||||||
|
let decimal
|
||||||
|
const constMappingTable = {}
|
||||||
|
const constMappingQuoteStyle = {}
|
||||||
|
let useTable = {}
|
||||||
|
let useQuoteStyle = {}
|
||||||
|
|
||||||
|
// Translate arguments
|
||||||
|
constMappingTable[0] = 'HTML_SPECIALCHARS'
|
||||||
|
constMappingTable[1] = 'HTML_ENTITIES'
|
||||||
|
constMappingQuoteStyle[0] = 'ENT_NOQUOTES'
|
||||||
|
constMappingQuoteStyle[2] = 'ENT_COMPAT'
|
||||||
|
constMappingQuoteStyle[3] = 'ENT_QUOTES'
|
||||||
|
|
||||||
|
useTable = !isNaN(table)
|
||||||
|
? constMappingTable[table]
|
||||||
|
: table
|
||||||
|
? table.toUpperCase()
|
||||||
|
: 'HTML_SPECIALCHARS'
|
||||||
|
|
||||||
|
useQuoteStyle = !isNaN(quoteStyle)
|
||||||
|
? constMappingQuoteStyle[quoteStyle]
|
||||||
|
: quoteStyle
|
||||||
|
? quoteStyle.toUpperCase()
|
||||||
|
: 'ENT_COMPAT'
|
||||||
|
|
||||||
|
if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
|
||||||
|
throw new Error('Table: ' + useTable + ' not supported')
|
||||||
|
}
|
||||||
|
|
||||||
|
entities['38'] = '&'
|
||||||
|
if (useTable === 'HTML_ENTITIES') {
|
||||||
|
entities['160'] = ' '
|
||||||
|
entities['161'] = '¡'
|
||||||
|
entities['162'] = '¢'
|
||||||
|
entities['163'] = '£'
|
||||||
|
entities['164'] = '¤'
|
||||||
|
entities['165'] = '¥'
|
||||||
|
entities['166'] = '¦'
|
||||||
|
entities['167'] = '§'
|
||||||
|
entities['168'] = '¨'
|
||||||
|
entities['169'] = '©'
|
||||||
|
entities['170'] = 'ª'
|
||||||
|
entities['171'] = '«'
|
||||||
|
entities['172'] = '¬'
|
||||||
|
entities['173'] = '­'
|
||||||
|
entities['174'] = '®'
|
||||||
|
entities['175'] = '¯'
|
||||||
|
entities['176'] = '°'
|
||||||
|
entities['177'] = '±'
|
||||||
|
entities['178'] = '²'
|
||||||
|
entities['179'] = '³'
|
||||||
|
entities['180'] = '´'
|
||||||
|
entities['181'] = 'µ'
|
||||||
|
entities['182'] = '¶'
|
||||||
|
entities['183'] = '·'
|
||||||
|
entities['184'] = '¸'
|
||||||
|
entities['185'] = '¹'
|
||||||
|
entities['186'] = 'º'
|
||||||
|
entities['187'] = '»'
|
||||||
|
entities['188'] = '¼'
|
||||||
|
entities['189'] = '½'
|
||||||
|
entities['190'] = '¾'
|
||||||
|
entities['191'] = '¿'
|
||||||
|
entities['192'] = 'À'
|
||||||
|
entities['193'] = 'Á'
|
||||||
|
entities['194'] = 'Â'
|
||||||
|
entities['195'] = 'Ã'
|
||||||
|
entities['196'] = 'Ä'
|
||||||
|
entities['197'] = 'Å'
|
||||||
|
entities['198'] = 'Æ'
|
||||||
|
entities['199'] = 'Ç'
|
||||||
|
entities['200'] = 'È'
|
||||||
|
entities['201'] = 'É'
|
||||||
|
entities['202'] = 'Ê'
|
||||||
|
entities['203'] = 'Ë'
|
||||||
|
entities['204'] = 'Ì'
|
||||||
|
entities['205'] = 'Í'
|
||||||
|
entities['206'] = 'Î'
|
||||||
|
entities['207'] = 'Ï'
|
||||||
|
entities['208'] = 'Ð'
|
||||||
|
entities['209'] = 'Ñ'
|
||||||
|
entities['210'] = 'Ò'
|
||||||
|
entities['211'] = 'Ó'
|
||||||
|
entities['212'] = 'Ô'
|
||||||
|
entities['213'] = 'Õ'
|
||||||
|
entities['214'] = 'Ö'
|
||||||
|
entities['215'] = '×'
|
||||||
|
entities['216'] = 'Ø'
|
||||||
|
entities['217'] = 'Ù'
|
||||||
|
entities['218'] = 'Ú'
|
||||||
|
entities['219'] = 'Û'
|
||||||
|
entities['220'] = 'Ü'
|
||||||
|
entities['221'] = 'Ý'
|
||||||
|
entities['222'] = 'Þ'
|
||||||
|
entities['223'] = 'ß'
|
||||||
|
entities['224'] = 'à'
|
||||||
|
entities['225'] = 'á'
|
||||||
|
entities['226'] = 'â'
|
||||||
|
entities['227'] = 'ã'
|
||||||
|
entities['228'] = 'ä'
|
||||||
|
entities['229'] = 'å'
|
||||||
|
entities['230'] = 'æ'
|
||||||
|
entities['231'] = 'ç'
|
||||||
|
entities['232'] = 'è'
|
||||||
|
entities['233'] = 'é'
|
||||||
|
entities['234'] = 'ê'
|
||||||
|
entities['235'] = 'ë'
|
||||||
|
entities['236'] = 'ì'
|
||||||
|
entities['237'] = 'í'
|
||||||
|
entities['238'] = 'î'
|
||||||
|
entities['239'] = 'ï'
|
||||||
|
entities['240'] = 'ð'
|
||||||
|
entities['241'] = 'ñ'
|
||||||
|
entities['242'] = 'ò'
|
||||||
|
entities['243'] = 'ó'
|
||||||
|
entities['244'] = 'ô'
|
||||||
|
entities['245'] = 'õ'
|
||||||
|
entities['246'] = 'ö'
|
||||||
|
entities['247'] = '÷'
|
||||||
|
entities['248'] = 'ø'
|
||||||
|
entities['249'] = 'ù'
|
||||||
|
entities['250'] = 'ú'
|
||||||
|
entities['251'] = 'û'
|
||||||
|
entities['252'] = 'ü'
|
||||||
|
entities['253'] = 'ý'
|
||||||
|
entities['254'] = 'þ'
|
||||||
|
entities['255'] = 'ÿ'
|
||||||
|
}
|
||||||
|
|
||||||
|
if (useQuoteStyle !== 'ENT_NOQUOTES') {
|
||||||
|
entities['34'] = '"'
|
||||||
|
}
|
||||||
|
if (useQuoteStyle === 'ENT_QUOTES') {
|
||||||
|
entities['39'] = '''
|
||||||
|
}
|
||||||
|
entities['60'] = '<'
|
||||||
|
entities['62'] = '>'
|
||||||
|
|
||||||
|
// ascii decimals to real symbols
|
||||||
|
for (decimal in entities) {
|
||||||
|
if (entities.hasOwnProperty(decimal)) {
|
||||||
|
hashMap[String.fromCharCode(decimal)] = entities[decimal]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return hashMap
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function urlencode (str) {
|
||||||
|
// discuss at: https://locutus.io/php/urlencode/
|
||||||
|
// original by: Philip Peterson
|
||||||
|
// improved by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// improved by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// improved by: Brett Zamir (https://brett-zamir.me)
|
||||||
|
// improved by: Lars Fischer
|
||||||
|
// improved by: Waldo Malqui Silva (https://fayr.us/waldo/)
|
||||||
|
// input by: AJ
|
||||||
|
// input by: travc
|
||||||
|
// input by: Brett Zamir (https://brett-zamir.me)
|
||||||
|
// input by: Ratheous
|
||||||
|
// bugfixed by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// bugfixed by: Kevin van Zonneveld (https://kvz.io)
|
||||||
|
// bugfixed by: Joris
|
||||||
|
// reimplemented by: Brett Zamir (https://brett-zamir.me)
|
||||||
|
// reimplemented by: Brett Zamir (https://brett-zamir.me)
|
||||||
|
// note 1: This reflects PHP 5.3/6.0+ behavior
|
||||||
|
// note 1: Please be aware that this function
|
||||||
|
// note 1: expects to encode into UTF-8 encoded strings, as found on
|
||||||
|
// note 1: pages served as UTF-8
|
||||||
|
// example 1: urlencode('Kevin van Zonneveld!')
|
||||||
|
// returns 1: 'Kevin+van+Zonneveld%21'
|
||||||
|
// example 2: urlencode('https://kvz.io/')
|
||||||
|
// returns 2: 'https%3A%2F%2Fkvz.io%2F'
|
||||||
|
// example 3: urlencode('https://www.google.nl/search?q=Locutus&ie=utf-8')
|
||||||
|
// returns 3: 'https%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3DLocutus%26ie%3Dutf-8'
|
||||||
|
str = (str + '')
|
||||||
|
return encodeURIComponent(str)
|
||||||
|
.replace(/!/g, '%21')
|
||||||
|
.replace(/'/g, '%27')
|
||||||
|
.replace(/\(/g, '%28')
|
||||||
|
.replace(/\)/g, '%29')
|
||||||
|
.replace(/\*/g, '%2A')
|
||||||
|
.replace(/~/g, '%7E')
|
||||||
|
.replace(/%20/g, '+')
|
||||||
|
}
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -36,7 +36,7 @@ class ###Component###Controller###SViews### extends AdminController
|
|||||||
* Proxy for getModel.
|
* Proxy for getModel.
|
||||||
* @since 2.5
|
* @since 2.5
|
||||||
*/
|
*/
|
||||||
public function getModel($name = '###SView###', $prefix = '###Component###Model', $config = array())
|
public function getModel($name = '###SView###', $prefix = '###Component###Model', $config = [])
|
||||||
{
|
{
|
||||||
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
|
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ class ###Component###Controller###SViews### extends AdminController
|
|||||||
|
|
||||||
public function dashboard()
|
public function dashboard()
|
||||||
{
|
{
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###', false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###', false));
|
||||||
return;
|
return;
|
||||||
}###CUSTOM_ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
}###CUSTOM_ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -52,16 +52,16 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
* @param string $prefix A prefix for the table class name. Optional.
|
* @param string $prefix A prefix for the table class name. Optional.
|
||||||
* @param array $config Configuration array for model. Optional.
|
* @param array $config Configuration array for model. Optional.
|
||||||
*
|
*
|
||||||
* @return JTable A database object
|
* @return Table A database object
|
||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function getTable($type = '###view###', $prefix = '###Component###Table', $config = array())
|
public function getTable($type = '###view###', $prefix = '###Component###Table', $config = [])
|
||||||
{
|
{
|
||||||
// add table path for when model gets used from other component
|
// add table path for when model gets used from other component
|
||||||
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_###component###/tables');
|
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_###component###/tables');
|
||||||
// get instance of the table
|
// get instance of the table
|
||||||
return JTable::getInstance($type, $prefix, $config);
|
return Table::getInstance($type, $prefix, $config);
|
||||||
}###ADMIN_CUSTOM_BUTTONS_METHOD###
|
}###ADMIN_CUSTOM_BUTTONS_METHOD###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -108,7 +108,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
|
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
|
||||||
{
|
{
|
||||||
// set load data option
|
// set load data option
|
||||||
$options['load_data'] = $loadData;###JMODELADMIN_GETFORM###
|
$options['load_data'] = $loadData;###JMODELADMIN_GETFORM###
|
||||||
@ -159,14 +159,14 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
* @return boolean
|
* @return boolean
|
||||||
* @since 2.5
|
* @since 2.5
|
||||||
*/
|
*/
|
||||||
protected function allowEdit($data = array(), $key = 'id')
|
protected function allowEdit($data = [], $key = 'id')
|
||||||
{###JMODELADMIN_ALLOWEDIT###
|
{###JMODELADMIN_ALLOWEDIT###
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepare and sanitise the table data prior to saving.
|
* Prepare and sanitise the table data prior to saving.
|
||||||
*
|
*
|
||||||
* @param JTable $table A JTable object.
|
* @param Table $table A Table object.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
@ -174,8 +174,8 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*/
|
*/
|
||||||
protected function prepareTable($table)
|
protected function prepareTable($table)
|
||||||
{###LICENSE_TABLE_LOCKED_CHECK###
|
{###LICENSE_TABLE_LOCKED_CHECK###
|
||||||
$date = JFactory::getDate();
|
$date = Factory::getDate();
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
|
|
||||||
if (isset($table->name))
|
if (isset($table->name))
|
||||||
{
|
{
|
||||||
@ -198,7 +198,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
// Set ordering to the last item if not set
|
// Set ordering to the last item if not set
|
||||||
if (empty($table->ordering))
|
if (empty($table->ordering))
|
||||||
{
|
{
|
||||||
$db = JFactory::getDbo();
|
$db = Factory::getDbo();
|
||||||
$query = $db->getQuery(true)
|
$query = $db->getQuery(true)
|
||||||
->select('MAX(ordering)')
|
->select('MAX(ordering)')
|
||||||
->from($db->quoteName('#__###component###_###view###'));
|
->from($db->quoteName('#__###component###_###view###'));
|
||||||
@ -231,7 +231,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
protected function loadFormData()
|
protected function loadFormData()
|
||||||
{
|
{
|
||||||
// Check the session for previously entered form data.
|
// Check the session for previously entered form data.
|
||||||
$data = JFactory::getApplication()->getUserState('com_###component###.edit.###view###.data', array());
|
$data = Factory::getApplication()->getUserState('com_###component###.edit.###view###.data', []);
|
||||||
|
|
||||||
if (empty($data))
|
if (empty($data))
|
||||||
{
|
{
|
||||||
@ -307,30 +307,30 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
|
|
||||||
if (empty($pks))
|
if (empty($pks))
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
|
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$done = false;
|
$done = false;
|
||||||
|
|
||||||
// Set some needed variables.
|
// Set some needed variables.
|
||||||
$this->user = JFactory::getUser();
|
$this->user = Factory::getUser();
|
||||||
$this->table = $this->getTable();
|
$this->table = $this->getTable();
|
||||||
$this->tableClassName = get_class($this->table);
|
$this->tableClassName = get_class($this->table);
|
||||||
$this->contentType = new JUcmType;
|
$this->contentType = new UCMType;
|
||||||
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
|
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
|
||||||
$this->canDo = ###Component###Helper::getActions('###view###');
|
$this->canDo = ###Component###Helper::getActions('###view###');
|
||||||
$this->batchSet = true;
|
$this->batchSet = true;
|
||||||
|
|
||||||
if (!$this->canDo->get('core.batch'))
|
if (!$this->canDo->get('core.batch'))
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->type == false)
|
if ($this->type == false)
|
||||||
{
|
{
|
||||||
$type = new JUcmType;
|
$type = new UCMType;
|
||||||
$this->type = $type->getTypeByAlias($this->typeAlias);
|
$this->type = $type->getTypeByAlias($this->typeAlias);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,8 +367,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
|
|
||||||
if (!$done)
|
if (!$done)
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -389,15 +388,15 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*/
|
*/
|
||||||
public function save($data)
|
public function save($data)
|
||||||
{
|
{
|
||||||
$input = JFactory::getApplication()->input;
|
$input = Factory::getApplication()->input;
|
||||||
$filter = JFilterInput::getInstance();
|
$filter = InputFilter::getInstance();
|
||||||
|
|
||||||
// set the metadata to the Item Data
|
// set the metadata to the Item Data
|
||||||
if (isset($data['metadata']) && isset($data['metadata']['author']))
|
if (isset($data['metadata']) && isset($data['metadata']['author']))
|
||||||
{
|
{
|
||||||
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
|
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
|
||||||
|
|
||||||
$metadata = new JRegistry;
|
$metadata = new Registry;
|
||||||
$metadata->loadArray($data['metadata']);
|
$metadata->loadArray($data['metadata']);
|
||||||
$data['metadata'] = (string) $metadata;
|
$data['metadata'] = (string) $metadata;
|
||||||
}###CHECKBOX_SAVE######METHOD_ITEM_SAVE###
|
}###CHECKBOX_SAVE######METHOD_ITEM_SAVE###
|
||||||
@ -405,7 +404,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
// Set the Params Items to data
|
// Set the Params Items to data
|
||||||
if (isset($data['params']) && is_array($data['params']))
|
if (isset($data['params']) && is_array($data['params']))
|
||||||
{
|
{
|
||||||
$params = new JRegistry;
|
$params = new Registry;
|
||||||
$params->loadArray($data['params']);
|
$params->loadArray($data['params']);
|
||||||
$data['params'] = (string) $params;
|
$data['params'] = (string) $params;
|
||||||
}###TITLEALIASFIX###
|
}###TITLEALIASFIX###
|
||||||
@ -429,7 +428,6 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*/
|
*/
|
||||||
protected function generateUnique($field, $value)
|
protected function generateUnique($field, $value)
|
||||||
{
|
{
|
||||||
|
|
||||||
// set field value unique
|
// set field value unique
|
||||||
$table = $this->getTable();
|
$table = $this->getTable();
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -52,16 +52,16 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
* @param string $prefix A prefix for the table class name. Optional.
|
* @param string $prefix A prefix for the table class name. Optional.
|
||||||
* @param array $config Configuration array for model. Optional.
|
* @param array $config Configuration array for model. Optional.
|
||||||
*
|
*
|
||||||
* @return JTable A database object
|
* @return Table A database object
|
||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function getTable($type = '###view###', $prefix = '###Component###Table', $config = array())
|
public function getTable($type = '###view###', $prefix = '###Component###Table', $config = [])
|
||||||
{
|
{
|
||||||
// add table path for when model gets used from other component
|
// add table path for when model gets used from other component
|
||||||
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_###component###/tables');
|
$this->addTablePath(JPATH_ADMINISTRATOR . '/components/com_###component###/tables');
|
||||||
// get instance of the table
|
// get instance of the table
|
||||||
return JTable::getInstance($type, $prefix, $config);
|
return Table::getInstance($type, $prefix, $config);
|
||||||
}###ADMIN_CUSTOM_BUTTONS_METHOD###
|
}###ADMIN_CUSTOM_BUTTONS_METHOD###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -108,7 +108,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function getForm($data = array(), $loadData = true, $options = array('control' => 'jform'))
|
public function getForm($data = [], $loadData = true, $options = array('control' => 'jform'))
|
||||||
{
|
{
|
||||||
// set load data option
|
// set load data option
|
||||||
$options['load_data'] = $loadData;###JMODELADMIN_GETFORM###
|
$options['load_data'] = $loadData;###JMODELADMIN_GETFORM###
|
||||||
@ -159,14 +159,14 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
* @return boolean
|
* @return boolean
|
||||||
* @since 2.5
|
* @since 2.5
|
||||||
*/
|
*/
|
||||||
protected function allowEdit($data = array(), $key = 'id')
|
protected function allowEdit($data = [], $key = 'id')
|
||||||
{###JMODELADMIN_ALLOWEDIT###
|
{###JMODELADMIN_ALLOWEDIT###
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepare and sanitise the table data prior to saving.
|
* Prepare and sanitise the table data prior to saving.
|
||||||
*
|
*
|
||||||
* @param JTable $table A JTable object.
|
* @param Table $table A Table object.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
@ -174,8 +174,8 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*/
|
*/
|
||||||
protected function prepareTable($table)
|
protected function prepareTable($table)
|
||||||
{###LICENSE_TABLE_LOCKED_CHECK###
|
{###LICENSE_TABLE_LOCKED_CHECK###
|
||||||
$date = JFactory::getDate();
|
$date = Factory::getDate();
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
|
|
||||||
if (isset($table->name))
|
if (isset($table->name))
|
||||||
{
|
{
|
||||||
@ -198,7 +198,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
// Set ordering to the last item if not set
|
// Set ordering to the last item if not set
|
||||||
if (empty($table->ordering))
|
if (empty($table->ordering))
|
||||||
{
|
{
|
||||||
$db = JFactory::getDbo();
|
$db = Factory::getDbo();
|
||||||
$query = $db->getQuery(true)
|
$query = $db->getQuery(true)
|
||||||
->select('MAX(ordering)')
|
->select('MAX(ordering)')
|
||||||
->from($db->quoteName('#__###component###_###view###'));
|
->from($db->quoteName('#__###component###_###view###'));
|
||||||
@ -231,7 +231,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
protected function loadFormData()
|
protected function loadFormData()
|
||||||
{
|
{
|
||||||
// Check the session for previously entered form data.
|
// Check the session for previously entered form data.
|
||||||
$data = JFactory::getApplication()->getUserState('com_###component###.edit.###view###.data', array());
|
$data = Factory::getApplication()->getUserState('com_###component###.edit.###view###.data', []);
|
||||||
|
|
||||||
if (empty($data))
|
if (empty($data))
|
||||||
{
|
{
|
||||||
@ -307,30 +307,30 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
|
|
||||||
if (empty($pks))
|
if (empty($pks))
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED'));
|
$this->setError(Text::_('JGLOBAL_NO_ITEM_SELECTED'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$done = false;
|
$done = false;
|
||||||
|
|
||||||
// Set some needed variables.
|
// Set some needed variables.
|
||||||
$this->user = JFactory::getUser();
|
$this->user = Factory::getUser();
|
||||||
$this->table = $this->getTable();
|
$this->table = $this->getTable();
|
||||||
$this->tableClassName = get_class($this->table);
|
$this->tableClassName = get_class($this->table);
|
||||||
$this->contentType = new JUcmType;
|
$this->contentType = new UCMType;
|
||||||
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
|
$this->type = $this->contentType->getTypeByTable($this->tableClassName);
|
||||||
$this->canDo = ###Component###Helper::getActions('###view###');
|
$this->canDo = ###Component###Helper::getActions('###view###');
|
||||||
$this->batchSet = true;
|
$this->batchSet = true;
|
||||||
|
|
||||||
if (!$this->canDo->get('core.batch'))
|
if (!$this->canDo->get('core.batch'))
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->type == false)
|
if ($this->type == false)
|
||||||
{
|
{
|
||||||
$type = new JUcmType;
|
$type = new UCMType;
|
||||||
$this->type = $type->getTypeByAlias($this->typeAlias);
|
$this->type = $type->getTypeByAlias($this->typeAlias);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,8 +367,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
|
|
||||||
if (!$done)
|
if (!$done)
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
$this->setError(Text::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -389,15 +388,15 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*/
|
*/
|
||||||
public function save($data)
|
public function save($data)
|
||||||
{
|
{
|
||||||
$input = JFactory::getApplication()->input;
|
$input = Factory::getApplication()->input;
|
||||||
$filter = JFilterInput::getInstance();
|
$filter = InputFilter::getInstance();
|
||||||
|
|
||||||
// set the metadata to the Item Data
|
// set the metadata to the Item Data
|
||||||
if (isset($data['metadata']) && isset($data['metadata']['author']))
|
if (isset($data['metadata']) && isset($data['metadata']['author']))
|
||||||
{
|
{
|
||||||
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
|
$data['metadata']['author'] = $filter->clean($data['metadata']['author'], 'TRIM');
|
||||||
|
|
||||||
$metadata = new JRegistry;
|
$metadata = new Registry;
|
||||||
$metadata->loadArray($data['metadata']);
|
$metadata->loadArray($data['metadata']);
|
||||||
$data['metadata'] = (string) $metadata;
|
$data['metadata'] = (string) $metadata;
|
||||||
}###CHECKBOX_SAVE######METHOD_ITEM_SAVE###
|
}###CHECKBOX_SAVE######METHOD_ITEM_SAVE###
|
||||||
@ -405,7 +404,7 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
// Set the Params Items to data
|
// Set the Params Items to data
|
||||||
if (isset($data['params']) && is_array($data['params']))
|
if (isset($data['params']) && is_array($data['params']))
|
||||||
{
|
{
|
||||||
$params = new JRegistry;
|
$params = new Registry;
|
||||||
$params->loadArray($data['params']);
|
$params->loadArray($data['params']);
|
||||||
$data['params'] = (string) $params;
|
$data['params'] = (string) $params;
|
||||||
}###TITLEALIASFIX###
|
}###TITLEALIASFIX###
|
||||||
@ -429,7 +428,6 @@ class ###Component###Model###View### extends AdminModel
|
|||||||
*/
|
*/
|
||||||
protected function generateUnique($field, $value)
|
protected function generateUnique($field, $value)
|
||||||
{
|
{
|
||||||
|
|
||||||
// set field value unique
|
// set field value unique
|
||||||
$table = $this->getTable();
|
$table = $this->getTable();
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -19,6 +19,8 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
|
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\Router\Route;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* General Controller of ###Component### component
|
* General Controller of ###Component### component
|
||||||
@ -34,7 +36,7 @@ class ###Component###Controller extends BaseController
|
|||||||
*
|
*
|
||||||
* @since 3.0
|
* @since 3.0
|
||||||
*/
|
*/
|
||||||
public function __construct($config = array())
|
public function __construct($config = [])
|
||||||
{
|
{
|
||||||
// set the default view
|
// set the default view
|
||||||
$config['default_view'] = '###DASHBOARDVIEW###';
|
$config['default_view'] = '###DASHBOARDVIEW###';
|
||||||
@ -56,32 +58,32 @@ class ###Component###Controller extends BaseController
|
|||||||
$id = $this->input->getInt('id');
|
$id = $this->input->getInt('id');
|
||||||
|
|
||||||
// Check for edit form.
|
// Check for edit form.
|
||||||
if(###Component###Helper::checkArray($data))
|
if(Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($data))
|
||||||
{
|
{
|
||||||
if ($data['edit'] && $layout == 'edit' && !$this->checkEditId('com_###component###.edit.'.$data['view'], $id))
|
if ($data['edit'] && $layout == 'edit' && !$this->checkEditId('com_###component###.edit.'.$data['view'], $id))
|
||||||
{
|
{
|
||||||
// Somehow the person just went to the form - we don't allow that.
|
// Somehow the person just went to the form - we don't allow that.
|
||||||
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id));
|
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id));
|
||||||
$this->setMessage($this->getError(), 'error');
|
$this->setMessage($this->getError(), 'error');
|
||||||
// check if item was opend from other then its own list view
|
// check if item was opend from other then its own list view
|
||||||
$ref = $this->input->getCmd('ref', 0);
|
$ref = $this->input->getCmd('ref', 0);
|
||||||
$refid = $this->input->getInt('refid', 0);
|
$refid = $this->input->getInt('refid', 0);
|
||||||
// set redirect
|
// set redirect
|
||||||
if ($refid > 0 && ###Component###Helper::checkString($ref))
|
if ($refid > 0 && Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($ref))
|
||||||
{
|
{
|
||||||
// redirect to item of ref
|
// redirect to item of ref
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view='.(string)$ref.'&layout=edit&id='.(int)$refid, false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view='.(string)$ref.'&layout=edit&id='.(int)$refid, false));
|
||||||
}
|
}
|
||||||
elseif (###Component###Helper::checkString($ref))
|
elseif (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($ref))
|
||||||
{
|
{
|
||||||
|
|
||||||
// redirect to ref
|
// redirect to ref
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view='.(string)$ref, false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view='.(string)$ref, false));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// normal redirect back to the list view
|
// normal redirect back to the list view
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view='.$data['views'], false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view='.$data['views'], false));
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -94,7 +96,7 @@ class ###Component###Controller extends BaseController
|
|||||||
protected function getViewRelation($view)
|
protected function getViewRelation($view)
|
||||||
{
|
{
|
||||||
// check the we have a value
|
// check the we have a value
|
||||||
if (###Component###Helper::checkString($view))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($view))
|
||||||
{
|
{
|
||||||
// the view relationships
|
// the view relationships
|
||||||
$views = array(###VIEWARRAY###
|
$views = array(###VIEWARRAY###
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\Session\Session;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,9 +31,9 @@ class ###Component###ControllerAjax extends BaseController
|
|||||||
{
|
{
|
||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
// make sure all json stuff are set
|
// make sure all json stuff are set
|
||||||
JFactory::getDocument()->setMimeEncoding( 'application/json' );
|
Factory::getDocument()->setMimeEncoding( 'application/json' );
|
||||||
// get the application
|
// get the application
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$app->setHeader('Content-Disposition','attachment;filename="getajax.json"');
|
$app->setHeader('Content-Disposition','attachment;filename="getajax.json"');
|
||||||
$app->setHeader('Access-Control-Allow-Origin', '*');
|
$app->setHeader('Access-Control-Allow-Origin', '*');
|
||||||
// load the tasks ###REGISTER_AJAX_TASK###
|
// load the tasks ###REGISTER_AJAX_TASK###
|
||||||
@ -40,15 +42,15 @@ class ###Component###ControllerAjax extends BaseController
|
|||||||
public function ajax()
|
public function ajax()
|
||||||
{
|
{
|
||||||
// get the user for later use
|
// get the user for later use
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
// get the input values
|
// get the input values
|
||||||
$jinput = JFactory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
// check if we should return raw
|
// check if we should return raw
|
||||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||||
// return to a callback function
|
// return to a callback function
|
||||||
$callback = $jinput->get('callback', null, 'CMD');
|
$callback = $jinput->get('callback', null, 'CMD');
|
||||||
// Check Token!
|
// Check Token!
|
||||||
$token = JSession::getFormToken();
|
$token = Session::getFormToken();
|
||||||
$call_token = $jinput->get('token', 0, 'ALNUM');
|
$call_token = $jinput->get('token', 0, 'ALNUM');
|
||||||
if($jinput->get($token, 0, 'ALNUM') || $token === $call_token)
|
if($jinput->get($token, 0, 'ALNUM') || $token === $call_token)
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\Session\Session;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,9 +31,9 @@ class ###Component###ControllerAjax extends BaseController
|
|||||||
{
|
{
|
||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
// make sure all json stuff are set
|
// make sure all json stuff are set
|
||||||
JFactory::getDocument()->setMimeEncoding( 'application/json' );
|
Factory::getDocument()->setMimeEncoding( 'application/json' );
|
||||||
// get the application
|
// get the application
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$app->setHeader('Content-Disposition','attachment;filename="getajax.json"');
|
$app->setHeader('Content-Disposition','attachment;filename="getajax.json"');
|
||||||
$app->setHeader('Access-Control-Allow-Origin', '*');
|
$app->setHeader('Access-Control-Allow-Origin', '*');
|
||||||
// load the tasks ###REGISTER_SITE_AJAX_TASK###
|
// load the tasks ###REGISTER_SITE_AJAX_TASK###
|
||||||
@ -40,15 +42,15 @@ class ###Component###ControllerAjax extends BaseController
|
|||||||
public function ajax()
|
public function ajax()
|
||||||
{
|
{
|
||||||
// get the user for later use
|
// get the user for later use
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
// get the input values
|
// get the input values
|
||||||
$jinput = JFactory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
// check if we should return raw
|
// check if we should return raw
|
||||||
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
|
||||||
// return to a callback function
|
// return to a callback function
|
||||||
$callback = $jinput->get('callback', null, 'CMD');
|
$callback = $jinput->get('callback', null, 'CMD');
|
||||||
// Check Token!
|
// Check Token!
|
||||||
$token = JSession::getFormToken();
|
$token = Session::getFormToken();
|
||||||
$call_token = $jinput->get('token', 0, 'ALNUM');
|
$call_token = $jinput->get('token', 0, 'ALNUM');
|
||||||
if($jinput->get($token, 0, 'ALNUM') || $token === $call_token)
|
if($jinput->get($token, 0, 'ALNUM') || $token === $call_token)
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
use Joomla\CMS\Session\Session;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -34,12 +37,12 @@ class ###Component###ControllerHelp extends BaseController
|
|||||||
|
|
||||||
public function help()
|
public function help()
|
||||||
{
|
{
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
$jinput = JFactory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
// Check Token!
|
// Check Token!
|
||||||
$token = JSession::getFormToken();
|
$token = Session::getFormToken();
|
||||||
$call_token = $jinput->get('token', 0, 'ALNUM');
|
$call_token = $jinput->get('token', 0, 'ALNUM');
|
||||||
if($user->id != 0 && $token == $call_token)
|
if($user->id != 0 && ($jinput->get($token, 0, 'ALNUM') || $token === $call_token))
|
||||||
{
|
{
|
||||||
$task = $this->getTask();
|
$task = $this->getTask();
|
||||||
switch($task){
|
switch($task){
|
||||||
@ -76,7 +79,7 @@ class ###Component###ControllerHelp extends BaseController
|
|||||||
|
|
||||||
protected function getHelpDocumentText($id)
|
protected function getHelpDocumentText($id)
|
||||||
{
|
{
|
||||||
$db = JFactory::getDbo();
|
$db = Factory::getDbo();
|
||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
$query->select(array('a.title','a.content'));
|
$query->select(array('a.title','a.content'));
|
||||||
$query->from('#__###component###_help_document AS a');
|
$query->from('#__###component###_help_document AS a');
|
||||||
@ -86,21 +89,21 @@ class ###Component###ControllerHelp extends BaseController
|
|||||||
$db->execute();
|
$db->execute();
|
||||||
if($db->getNumRows())
|
if($db->getNumRows())
|
||||||
{
|
{
|
||||||
$text = array();
|
$text = [];
|
||||||
$document = $db->loadObject();
|
$document = $db->loadObject();
|
||||||
// fix image issue
|
// fix image issue
|
||||||
$images['src="images'] = 'src="'.JURI::root().'images';
|
$images['src="images'] = 'src="'.Uri::root().'images';
|
||||||
$images["src='images"] = "src='".JURI::root()."images";
|
$images["src='images"] = "src='".Uri::root()."images";
|
||||||
$images['src="/images'] = 'src="'.JURI::root().'images';
|
$images['src="/images'] = 'src="'.Uri::root().'images';
|
||||||
$images["src='/images"] = "src='".JURI::root()."images";
|
$images["src='/images"] = "src='".Uri::root()."images";
|
||||||
// set document template
|
// set document template
|
||||||
$text[] = "<!doctype html>";
|
$text[] = "<!doctype html>";
|
||||||
$text[] = '<html>';
|
$text[] = '<html>';
|
||||||
$text[] = "<head>";
|
$text[] = "<head>";
|
||||||
$text[] = '<meta charset="utf-8">';
|
$text[] = '<meta charset="utf-8">';
|
||||||
$text[] = "<title>".$document->title."</title>";
|
$text[] = "<title>".$document->title."</title>";
|
||||||
$text[] = '<link type="text/css" href="'.JURI::root().'media/com_###component###/uikit/css/uikit.gradient.min.css" rel="stylesheet"></link>';
|
$text[] = '<link type="text/css" href="'.Uri::root().'media/com_###component###/uikit/css/uikit.gradient.min.css" rel="stylesheet"></link>';
|
||||||
$text[] = '<script type="text/javascript" src="'.JURI::root().'media/com_###component###/uikit/js/uikit.min.js"></script>';
|
$text[] = '<script type="text/javascript" src="'.Uri::root().'media/com_###component###/uikit/js/uikit.min.js"></script>';
|
||||||
$text[] = "</head>";
|
$text[] = "</head>";
|
||||||
$text[] = '<body><br />';
|
$text[] = '<body><br />';
|
||||||
$text[] = '<div class="uk-container uk-container-center uk-grid-collapse">';
|
$text[] = '<div class="uk-container uk-container-center uk-grid-collapse">';
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\Uri\Uri;
|
||||||
|
use Joomla\CMS\Session\Session;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -34,12 +37,12 @@ class ###Component###ControllerHelp extends BaseController
|
|||||||
|
|
||||||
public function help()
|
public function help()
|
||||||
{
|
{
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
$jinput = JFactory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
// Check Token!
|
// Check Token!
|
||||||
$token = JSession::getFormToken();
|
$token = Session::getFormToken();
|
||||||
$call_token = $jinput->get('token', 0, 'ALNUM');
|
$call_token = $jinput->get('token', 0, 'ALNUM');
|
||||||
if($token == $call_token)
|
if($user->id != 0 && ($jinput->get($token, 0, 'ALNUM') || $token === $call_token))
|
||||||
{
|
{
|
||||||
$task = $this->getTask();
|
$task = $this->getTask();
|
||||||
switch($task){
|
switch($task){
|
||||||
@ -76,7 +79,7 @@ class ###Component###ControllerHelp extends BaseController
|
|||||||
|
|
||||||
protected function getHelpDocumentText($id)
|
protected function getHelpDocumentText($id)
|
||||||
{
|
{
|
||||||
$db = JFactory::getDbo();
|
$db = Factory::getDbo();
|
||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
$query->select(array('a.title','a.content'));
|
$query->select(array('a.title','a.content'));
|
||||||
$query->from('#__###component###_help_document AS a');
|
$query->from('#__###component###_help_document AS a');
|
||||||
@ -87,21 +90,21 @@ class ###Component###ControllerHelp extends BaseController
|
|||||||
$db->execute();
|
$db->execute();
|
||||||
if($db->getNumRows())
|
if($db->getNumRows())
|
||||||
{
|
{
|
||||||
$text = array();
|
$text = [];
|
||||||
$document = $db->loadObject();
|
$document = $db->loadObject();
|
||||||
// fix image issue
|
// fix image issue
|
||||||
$images['src="images'] = 'src="'.JURI::root().'images';
|
$images['src="images'] = 'src="'.Uri::root().'images';
|
||||||
$images["src='images"] = "src='".JURI::root()."images";
|
$images["src='images"] = "src='".Uri::root()."images";
|
||||||
$images['src="/images'] = 'src="'.JURI::root().'images';
|
$images['src="/images'] = 'src="'.Uri::root().'images';
|
||||||
$images["src='/images"] = "src='".JURI::root()."images";
|
$images["src='/images"] = "src='".Uri::root()."images";
|
||||||
// set document template
|
// set document template
|
||||||
$text[] = "<!doctype html>";
|
$text[] = "<!doctype html>";
|
||||||
$text[] = '<html>';
|
$text[] = '<html>';
|
||||||
$text[] = "<head>";
|
$text[] = "<head>";
|
||||||
$text[] = '<meta charset="utf-8">';
|
$text[] = '<meta charset="utf-8">';
|
||||||
$text[] = "<title>".$document->title."</title>";
|
$text[] = "<title>".$document->title."</title>";
|
||||||
$text[] = '<link type="text/css" href="'.JURI::root().'media/com_###component###/uikit/css/uikit.gradient.min.css" rel="stylesheet"></link>';
|
$text[] = '<link type="text/css" href="'.Uri::root().'media/com_###component###/uikit/css/uikit.gradient.min.css" rel="stylesheet"></link>';
|
||||||
$text[] = '<script type="text/javascript" src="'.JURI::root().'media/com_###component###/uikit/js/uikit.min.js"></script>';
|
$text[] = '<script type="text/javascript" src="'.Uri::root().'media/com_###component###/uikit/js/uikit.min.js"></script>';
|
||||||
$text[] = "</head>";
|
$text[] = "</head>";
|
||||||
$text[] = '<body><br />';
|
$text[] = '<body><br />';
|
||||||
$text[] = '<div class="uk-container uk-container-center uk-grid-collapse">';
|
$text[] = '<div class="uk-container uk-container-center uk-grid-collapse">';
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,8 +17,11 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\Router\Route;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Component Base Controller
|
* ###Component### Component Base Controller
|
||||||
@ -45,7 +48,7 @@ class ###Component###Controller extends BaseController
|
|||||||
// $cachable = true; (TODO) working on a fix [gh-238](https://github.com/vdm-io/Joomla-Component-Builder/issues/238)
|
// $cachable = true; (TODO) working on a fix [gh-238](https://github.com/vdm-io/Joomla-Component-Builder/issues/238)
|
||||||
|
|
||||||
// insure that the view is not cashable if edit view or if user is logged in
|
// insure that the view is not cashable if edit view or if user is logged in
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
if ($user->get('id') || $isEdit)
|
if ($user->get('id') || $isEdit)
|
||||||
{
|
{
|
||||||
$cachable = false;
|
$cachable = false;
|
||||||
@ -57,26 +60,26 @@ class ###Component###Controller extends BaseController
|
|||||||
if ($layout == 'edit' && !$this->checkEditId('com_###component###.edit.'.$view, $id))
|
if ($layout == 'edit' && !$this->checkEditId('com_###component###.edit.'.$view, $id))
|
||||||
{
|
{
|
||||||
// Somehow the person just went to the form - we don't allow that.
|
// Somehow the person just went to the form - we don't allow that.
|
||||||
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id));
|
$this->setError(Text::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id));
|
||||||
$this->setMessage($this->getError(), 'error');
|
$this->setMessage($this->getError(), 'error');
|
||||||
// check if item was opend from other then its own list view
|
// check if item was opend from other then its own list view
|
||||||
$ref = $this->input->getCmd('ref', 0);
|
$ref = $this->input->getCmd('ref', 0);
|
||||||
$refid = $this->input->getInt('refid', 0);
|
$refid = $this->input->getInt('refid', 0);
|
||||||
// set redirect
|
// set redirect
|
||||||
if ($refid > 0 && ###Component###Helper::checkString($ref))
|
if ($refid > 0 && Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($ref))
|
||||||
{
|
{
|
||||||
// redirect to item of ref
|
// redirect to item of ref
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view='.(string)$ref.'&layout=edit&id='.(int)$refid, false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view='.(string)$ref.'&layout=edit&id='.(int)$refid, false));
|
||||||
}
|
}
|
||||||
elseif (###Component###Helper::checkString($ref))
|
elseif (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($ref))
|
||||||
{
|
{
|
||||||
// redirect to ref
|
// redirect to ref
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view='.(string)$ref, false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view='.(string)$ref, false));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// normal redirect back to the list default site view
|
// normal redirect back to the list default site view
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view=###SITE_DEFAULT_VIEW###', false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view=###SITE_DEFAULT_VIEW###', false));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -102,9 +105,9 @@ class ###Component###Controller extends BaseController
|
|||||||
'Itemid' => 'INT');
|
'Itemid' => 'INT');
|
||||||
|
|
||||||
// should these not merge?
|
// should these not merge?
|
||||||
if (###Component###Helper::checkArray($urlparams))
|
if (Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($urlparams))
|
||||||
{
|
{
|
||||||
$safeurlparams = ###Component###Helper::mergeArrays(array($urlparams, $safeurlparams));
|
$safeurlparams = Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::merge(array($urlparams, $safeurlparams));
|
||||||
}
|
}
|
||||||
|
|
||||||
return parent::display($cachable, $safeurlparams);
|
return parent::display($cachable, $safeurlparams);
|
||||||
@ -112,7 +115,7 @@ class ###Component###Controller extends BaseController
|
|||||||
|
|
||||||
protected function checkEditView($view)
|
protected function checkEditView($view)
|
||||||
{
|
{
|
||||||
if (###Component###Helper::checkString($view))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($view))
|
||||||
{
|
{
|
||||||
$views = array(###SITE_EDIT_VIEW_ARRAY###
|
$views = array(###SITE_EDIT_VIEW_ARRAY###
|
||||||
);
|
);
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -31,7 +31,7 @@ class ###Component###Controller###SView### extends BaseController
|
|||||||
|
|
||||||
public function dashboard()
|
public function dashboard()
|
||||||
{
|
{
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###', false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###', false));
|
||||||
return;
|
return;
|
||||||
}###CUSTOM_ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
}###CUSTOM_ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,8 +17,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
###IMPORT_CONTROLLER_HEADER###
|
||||||
use Joomla\Utilities\ArrayHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Import Base Controller
|
* ###Component### Import Base Controller
|
||||||
@ -33,21 +32,21 @@ class ###Component###ControllerImport extends BaseController
|
|||||||
public function import()
|
public function import()
|
||||||
{
|
{
|
||||||
// Check for request forgeries
|
// Check for request forgeries
|
||||||
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
|
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
$model = $this->getModel('import');
|
$model = $this->getModel('import');
|
||||||
if ($model->import())
|
if ($model->import())
|
||||||
{
|
{
|
||||||
$cache = JFactory::getCache('mod_menu');
|
$cache = Factory::getCache('mod_menu');
|
||||||
$cache->clean();
|
$cache->clean();
|
||||||
// TODO: Reset the users acl here as well to kill off any missing bits
|
// TODO: Reset the users acl here as well to kill off any missing bits
|
||||||
}
|
}
|
||||||
|
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$redirect_url = $app->getUserState('com_###component###.redirect_url');
|
$redirect_url = $app->getUserState('com_###component###.redirect_url');
|
||||||
if (empty($redirect_url))
|
if (empty($redirect_url))
|
||||||
{
|
{
|
||||||
$redirect_url = JRoute::_('index.php?option=com_###component###&view=import', false);
|
$redirect_url = Route::_('index.php?option=com_###component###&view=import', false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,8 +17,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
###IMPORT_CUSTOM_CONTROLLER_HEADER###
|
||||||
use Joomla\Utilities\ArrayHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### ###View### Base Controller
|
* ###Component### ###View### Base Controller
|
||||||
@ -33,21 +32,21 @@ class ###Component###Controller###View### extends BaseController
|
|||||||
public function import()
|
public function import()
|
||||||
{
|
{
|
||||||
// Check for request forgeries
|
// Check for request forgeries
|
||||||
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
|
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
$model = $this->getModel('###View###');
|
$model = $this->getModel('###View###');
|
||||||
if ($model->import())
|
if ($model->import())
|
||||||
{
|
{
|
||||||
$cache = JFactory::getCache('mod_menu');
|
$cache = Factory::getCache('mod_menu');
|
||||||
$cache->clean();
|
$cache->clean();
|
||||||
// TODO: Reset the users acl here as well to kill off any missing bits
|
// TODO: Reset the users acl here as well to kill off any missing bits
|
||||||
}
|
}
|
||||||
|
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$redirect_url = $app->getUserState('com_###component###.redirect_url');
|
$redirect_url = $app->getUserState('com_###component###.redirect_url');
|
||||||
if (empty($redirect_url))
|
if (empty($redirect_url))
|
||||||
{
|
{
|
||||||
$redirect_url = JRoute::_('index.php?option=com_###component###&view=###view###', false);
|
$redirect_url = Route::_('index.php?option=com_###component###&view=###view###', false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,13 +17,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
|
###IMPORT_MODEL_HEADER###
|
||||||
use Joomla\CMS\Filesystem\File;
|
|
||||||
use Joomla\CMS\Filesystem\Folder;
|
|
||||||
use Joomla\Utilities\ArrayHelper;
|
|
||||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
|
||||||
|
|
||||||
/**
|
/***
|
||||||
* ###Component### Import Base Database Model
|
* ###Component### Import Base Database Model
|
||||||
*/
|
*/
|
||||||
class ###Component###ModelImport extends BaseDatabaseModel
|
class ###Component###ModelImport extends BaseDatabaseModel
|
||||||
@ -31,7 +27,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
// set uploading values
|
// set uploading values
|
||||||
protected $use_streams = false;
|
protected $use_streams = false;
|
||||||
protected $allow_unsafe = false;
|
protected $allow_unsafe = false;
|
||||||
protected $safeFileOptions = array();
|
protected $safeFileOptions = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var object JTable object
|
* @var object JTable object
|
||||||
@ -66,7 +62,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function populateState()
|
protected function populateState()
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication('administrator');
|
$app = Factory::getApplication('administrator');
|
||||||
|
|
||||||
$this->setState('message', $app->getUserState('com_###component###.message'));
|
$this->setState('message', $app->getUserState('com_###component###.message'));
|
||||||
$app->setUserState('com_###component###.message', '');
|
$app->setUserState('com_###component###.message', '');
|
||||||
@ -86,8 +82,8 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
public function import()
|
public function import()
|
||||||
{
|
{
|
||||||
$this->setState('action', 'import');
|
$this->setState('action', 'import');
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$session = JFactory::getSession();
|
$session = Factory::getSession();
|
||||||
$package = null;
|
$package = null;
|
||||||
$continue = false;
|
$continue = false;
|
||||||
// get import type
|
// get import type
|
||||||
@ -124,7 +120,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$app->setUserState('com_###component###.message', JText::_('COM_###COMPONENT###_IMPORT_NO_IMPORT_TYPE_FOUND'));
|
$app->setUserState('com_###component###.message', Text::_('COM_###COMPONENT###_IMPORT_NO_IMPORT_TYPE_FOUND'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
@ -138,7 +134,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
$this->remove($package['packagename']);
|
$this->remove($package['packagename']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$app->setUserState('com_###component###.message', JText::_('COM_###COMPONENT###_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE'));
|
$app->setUserState('com_###component###.message', Text::_('COM_###COMPONENT###_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,7 +152,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
if (!$this->setData($package,$this->dataType,$headerList))
|
if (!$this->setData($package,$this->dataType,$headerList))
|
||||||
{
|
{
|
||||||
// There was an error importing the package
|
// There was an error importing the package
|
||||||
$msg = JText::_('COM_###COMPONENT###_IMPORT_ERROR');
|
$msg = Text::_('COM_###COMPONENT###_IMPORT_ERROR');
|
||||||
$back = $session->get('backto_VDM_IMPORT', NULL);
|
$back = $session->get('backto_VDM_IMPORT', NULL);
|
||||||
if ($back)
|
if ($back)
|
||||||
{
|
{
|
||||||
@ -168,7 +164,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Package imported sucessfully
|
// Package imported sucessfully
|
||||||
$msg = JText::sprintf('COM_###COMPONENT###_IMPORT_SUCCESS', $package['packagename']);
|
$msg = Text::sprintf('COM_###COMPONENT###_IMPORT_SUCCESS', $package['packagename']);
|
||||||
$back = $session->get('backto_VDM_IMPORT', NULL);
|
$back = $session->get('backto_VDM_IMPORT', NULL);
|
||||||
if ($back)
|
if ($back)
|
||||||
{
|
{
|
||||||
@ -196,7 +192,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
protected function _getPackageFromUpload()
|
protected function _getPackageFromUpload()
|
||||||
{
|
{
|
||||||
// Get the uploaded file information
|
// Get the uploaded file information
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$input = $app->input;
|
$input = $app->input;
|
||||||
|
|
||||||
// Do not change the filter type 'raw'. We need this to let files containing PHP code to upload. See JInputFiles::get.
|
// Do not change the filter type 'raw'. We need this to let files containing PHP code to upload. See JInputFiles::get.
|
||||||
@ -205,37 +201,36 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
// Make sure that file uploads are enabled in php
|
// Make sure that file uploads are enabled in php
|
||||||
if (!(bool) ini_get('file_uploads'))
|
if (!(bool) ini_get('file_uploads'))
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTFILE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTFILE'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there is no uploaded file, we have a problem...
|
// If there is no uploaded file, we have a problem...
|
||||||
if (!is_array($userfile))
|
if (!is_array($userfile))
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_NO_FILE_SELECTED'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_NO_FILE_SELECTED'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if there was a problem uploading the file.
|
// Check if there was a problem uploading the file.
|
||||||
if ($userfile['error'] || $userfile['size'] < 1)
|
if ($userfile['error'] || $userfile['size'] < 1)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTUPLOADERROR'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTUPLOADERROR'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build the appropriate paths
|
// Build the appropriate paths
|
||||||
$config = JFactory::getConfig();
|
$config = Factory::getConfig();
|
||||||
$tmp_dest = $config->get('tmp_path') . '/' . $userfile['name'];
|
$tmp_dest = $config->get('tmp_path') . '/' . $userfile['name'];
|
||||||
$tmp_src = $userfile['tmp_name'];
|
$tmp_src = $userfile['tmp_name'];
|
||||||
|
|
||||||
// Move uploaded file
|
// Move uploaded file
|
||||||
jimport('joomla.filesystem.file');
|
|
||||||
$p_file = File::upload($tmp_src, $tmp_dest, $this->use_streams, $this->allow_unsafe, $this->safeFileOptions);
|
$p_file = File::upload($tmp_src, $tmp_dest, $this->use_streams, $this->allow_unsafe, $this->safeFileOptions);
|
||||||
|
|
||||||
// Was the package downloaded?
|
// Was the package downloaded?
|
||||||
if (!$p_file)
|
if (!$p_file)
|
||||||
{
|
{
|
||||||
$session = JFactory::getSession();
|
$session = Factory::getSession();
|
||||||
$session->clear('package');
|
$session->clear('package');
|
||||||
$session->clear('dataType');
|
$session->clear('dataType');
|
||||||
$session->clear('hasPackage');
|
$session->clear('hasPackage');
|
||||||
@ -257,16 +252,16 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function _getPackageFromFolder()
|
protected function _getPackageFromFolder()
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$input = $app->input;
|
$input = $app->input;
|
||||||
|
|
||||||
// Get the path to the package to import
|
// Get the path to the package to import
|
||||||
$p_dir = $input->getString('import_directory');
|
$p_dir = $input->getString('import_directory');
|
||||||
$p_dir = JPath::clean($p_dir);
|
$p_dir = Path::clean($p_dir);
|
||||||
// Did you give us a valid path?
|
// Did you give us a valid path?
|
||||||
if (!file_exists($p_dir))
|
if (!file_exists($p_dir))
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_PLEASE_ENTER_A_PACKAGE_DIRECTORY'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_PLEASE_ENTER_A_PACKAGE_DIRECTORY'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,14 +271,14 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
// Did you give us a valid package?
|
// Did you give us a valid package?
|
||||||
if (!$type)
|
if (!$type)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_PATH_DOES_NOT_HAVE_A_VALID_PACKAGE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_PATH_DOES_NOT_HAVE_A_VALID_PACKAGE'), 'warning');
|
||||||
}
|
}
|
||||||
|
|
||||||
// check the extention
|
// check the extention
|
||||||
if(!$this->checkExtension($p_dir))
|
if(!$this->checkExtension($p_dir))
|
||||||
{
|
{
|
||||||
// set error message
|
// set error message
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,7 +297,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function _getPackageFromUrl()
|
protected function _getPackageFromUrl()
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$input = $app->input;
|
$input = $app->input;
|
||||||
|
|
||||||
// Get the URL of the package to import
|
// Get the URL of the package to import
|
||||||
@ -311,17 +306,17 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
// Did you give us a URL?
|
// Did you give us a URL?
|
||||||
if (!$url)
|
if (!$url)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_ENTER_A_URL'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_ENTER_A_URL'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Download the package at the URL given
|
// Download the package at the URL given
|
||||||
$p_file = JInstallerHelper::downloadPackage($url);
|
$p_file = InstallerHelper::downloadPackage($url);
|
||||||
|
|
||||||
// Was the package downloaded?
|
// Was the package downloaded?
|
||||||
if (!$p_file)
|
if (!$p_file)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_INVALID_URL'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_INVALID_URL'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -342,20 +337,20 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function check($archivename)
|
protected function check($archivename)
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
// Clean the name
|
// Clean the name
|
||||||
$archivename = JPath::clean($archivename);
|
$archivename = Path::clean($archivename);
|
||||||
|
|
||||||
// check the extention
|
// check the extention
|
||||||
if(!$this->checkExtension($archivename))
|
if(!$this->checkExtension($archivename))
|
||||||
{
|
{
|
||||||
// Cleanup the import files
|
// Cleanup the import files
|
||||||
$this->remove($archivename);
|
$this->remove($archivename);
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$config = JFactory::getConfig();
|
$config = Factory::getConfig();
|
||||||
// set Package Name
|
// set Package Name
|
||||||
$check['packagename'] = $archivename;
|
$check['packagename'] = $archivename;
|
||||||
|
|
||||||
@ -380,7 +375,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
{
|
{
|
||||||
jimport('joomla.filesystem.file');
|
jimport('joomla.filesystem.file');
|
||||||
|
|
||||||
$config = JFactory::getConfig();
|
$config = Factory::getConfig();
|
||||||
$package = $config->get('tmp_path'). '/' .$package;
|
$package = $config->get('tmp_path'). '/' .$package;
|
||||||
|
|
||||||
// Is the package file a valid file?
|
// Is the package file a valid file?
|
||||||
@ -388,23 +383,23 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
{
|
{
|
||||||
File::delete($package);
|
File::delete($package);
|
||||||
}
|
}
|
||||||
elseif (is_file(JPath::clean($package)))
|
elseif (is_file(Path::clean($package)))
|
||||||
{
|
{
|
||||||
// It might also be just a base filename
|
// It might also be just a base filename
|
||||||
File::delete(JPath::clean($package));
|
File::delete(Path::clean($package));
|
||||||
}
|
}
|
||||||
}###IMPORT_SETDATA_METHOD######IMPORT_SAVE_METHOD###
|
}###IMPORT_SETDATA_METHOD######IMPORT_SAVE_METHOD###
|
||||||
|
|
||||||
protected function getAlias($name,$type = false)
|
protected function getAlias($name,$type = false)
|
||||||
{
|
{
|
||||||
// sanitize the name to an alias
|
// sanitize the name to an alias
|
||||||
if (JFactory::getConfig()->get('unicodeslugs') == 1)
|
if (Factory::getConfig()->get('unicodeslugs') == 1)
|
||||||
{
|
{
|
||||||
$alias = JFilterOutput::stringURLUnicodeSlug($name);
|
$alias = OutputFilter::stringURLUnicodeSlug($name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$alias = JFilterOutput::stringURLSafe($name);
|
$alias = OutputFilter::stringURLSafe($name);
|
||||||
}
|
}
|
||||||
// must be a uniqe alias
|
// must be a uniqe alias
|
||||||
if ($type)
|
if ($type)
|
||||||
@ -428,7 +423,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
// insure the filed is always uniqe
|
// insure the filed is always uniqe
|
||||||
while (isset($this->uniqeValueArray[$type][$field][$value]))
|
while (isset($this->uniqeValueArray[$type][$field][$value]))
|
||||||
{
|
{
|
||||||
$value = JString::increment($value, 'dash');
|
$value = StringHelper::increment($value, 'dash');
|
||||||
}
|
}
|
||||||
$this->uniqeValueArray[$type][$field][$value] = $value;
|
$this->uniqeValueArray[$type][$field][$value] = $value;
|
||||||
return $value;
|
return $value;
|
||||||
@ -437,7 +432,7 @@ class ###Component###ModelImport extends BaseDatabaseModel
|
|||||||
protected function getAliasesUsed($table)
|
protected function getAliasesUsed($table)
|
||||||
{
|
{
|
||||||
// Get a db connection.
|
// Get a db connection.
|
||||||
$db = JFactory::getDbo();
|
$db = Factory::getDbo();
|
||||||
// first we check if there is a alias column
|
// first we check if there is a alias column
|
||||||
$columns = $db->getTableColumns('#__###component###_'.$table);
|
$columns = $db->getTableColumns('#__###component###_'.$table);
|
||||||
if(isset($columns['alias'])){
|
if(isset($columns['alias'])){
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,11 +17,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
|
###IMPORT_CUSTOM_MODEL_HEADER###
|
||||||
use Joomla\CMS\Filesystem\File;
|
|
||||||
use Joomla\CMS\Filesystem\Folder;
|
|
||||||
use Joomla\Utilities\ArrayHelper;
|
|
||||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### ###View### Base Database Model
|
* ###Component### ###View### Base Database Model
|
||||||
@ -31,7 +27,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
// set uploading values
|
// set uploading values
|
||||||
protected $use_streams = false;
|
protected $use_streams = false;
|
||||||
protected $allow_unsafe = false;
|
protected $allow_unsafe = false;
|
||||||
protected $safeFileOptions = array();
|
protected $safeFileOptions = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var object JTable object
|
* @var object JTable object
|
||||||
@ -66,7 +62,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function populateState()
|
protected function populateState()
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication('administrator');
|
$app = Factory::getApplication('administrator');
|
||||||
|
|
||||||
$this->setState('message', $app->getUserState('com_###component###.message'));
|
$this->setState('message', $app->getUserState('com_###component###.message'));
|
||||||
$app->setUserState('com_###component###.message', '');
|
$app->setUserState('com_###component###.message', '');
|
||||||
@ -86,7 +82,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
protected function _getPackageFromUpload()
|
protected function _getPackageFromUpload()
|
||||||
{
|
{
|
||||||
// Get the uploaded file information
|
// Get the uploaded file information
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$input = $app->input;
|
$input = $app->input;
|
||||||
|
|
||||||
// Do not change the filter type 'raw'. We need this to let files containing PHP code to upload. See JInputFiles::get.
|
// Do not change the filter type 'raw'. We need this to let files containing PHP code to upload. See JInputFiles::get.
|
||||||
@ -95,26 +91,26 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
// Make sure that file uploads are enabled in php
|
// Make sure that file uploads are enabled in php
|
||||||
if (!(bool) ini_get('file_uploads'))
|
if (!(bool) ini_get('file_uploads'))
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTFILE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTFILE'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there is no uploaded file, we have a problem...
|
// If there is no uploaded file, we have a problem...
|
||||||
if (!is_array($userfile))
|
if (!is_array($userfile))
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_NO_FILE_SELECTED'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_NO_FILE_SELECTED'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if there was a problem uploading the file.
|
// Check if there was a problem uploading the file.
|
||||||
if ($userfile['error'] || $userfile['size'] < 1)
|
if ($userfile['error'] || $userfile['size'] < 1)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTUPLOADERROR'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_WARNIMPORTUPLOADERROR'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build the appropriate paths
|
// Build the appropriate paths
|
||||||
$config = JFactory::getConfig();
|
$config = Factory::getConfig();
|
||||||
$tmp_dest = $config->get('tmp_path') . '/' . $userfile['name'];
|
$tmp_dest = $config->get('tmp_path') . '/' . $userfile['name'];
|
||||||
$tmp_src = $userfile['tmp_name'];
|
$tmp_src = $userfile['tmp_name'];
|
||||||
|
|
||||||
@ -124,7 +120,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
// Was the package downloaded?
|
// Was the package downloaded?
|
||||||
if (!$p_file)
|
if (!$p_file)
|
||||||
{
|
{
|
||||||
$session = JFactory::getSession();
|
$session = Factory::getSession();
|
||||||
$session->clear('package');
|
$session->clear('package');
|
||||||
$session->clear('dataType');
|
$session->clear('dataType');
|
||||||
$session->clear('hasPackage');
|
$session->clear('hasPackage');
|
||||||
@ -146,16 +142,16 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function _getPackageFromFolder()
|
protected function _getPackageFromFolder()
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$input = $app->input;
|
$input = $app->input;
|
||||||
|
|
||||||
// Get the path to the package to import
|
// Get the path to the package to import
|
||||||
$p_dir = $input->getString('import_directory');
|
$p_dir = $input->getString('import_directory');
|
||||||
$p_dir = JPath::clean($p_dir);
|
$p_dir = Path::clean($p_dir);
|
||||||
// Did you give us a valid path?
|
// Did you give us a valid path?
|
||||||
if (!file_exists($p_dir))
|
if (!file_exists($p_dir))
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_PLEASE_ENTER_A_PACKAGE_DIRECTORY'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_PLEASE_ENTER_A_PACKAGE_DIRECTORY'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,14 +161,14 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
// Did you give us a valid package?
|
// Did you give us a valid package?
|
||||||
if (!$type)
|
if (!$type)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_PATH_DOES_NOT_HAVE_A_VALID_PACKAGE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_PATH_DOES_NOT_HAVE_A_VALID_PACKAGE'), 'warning');
|
||||||
}
|
}
|
||||||
|
|
||||||
// check the extention
|
// check the extention
|
||||||
if(!$this->checkExtension($p_dir))
|
if(!$this->checkExtension($p_dir))
|
||||||
{
|
{
|
||||||
// set error message
|
// set error message
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,7 +187,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function _getPackageFromUrl()
|
protected function _getPackageFromUrl()
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$input = $app->input;
|
$input = $app->input;
|
||||||
|
|
||||||
// Get the URL of the package to import
|
// Get the URL of the package to import
|
||||||
@ -200,17 +196,17 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
// Did you give us a URL?
|
// Did you give us a URL?
|
||||||
if (!$url)
|
if (!$url)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_ENTER_A_URL'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_ENTER_A_URL'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Download the package at the URL given
|
// Download the package at the URL given
|
||||||
$p_file = JInstallerHelper::downloadPackage($url);
|
$p_file = InstallerHelper::downloadPackage($url);
|
||||||
|
|
||||||
// Was the package downloaded?
|
// Was the package downloaded?
|
||||||
if (!$p_file)
|
if (!$p_file)
|
||||||
{
|
{
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_INVALID_URL'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_INVALID_URL'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,20 +227,20 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function check($archivename)
|
protected function check($archivename)
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
// Clean the name
|
// Clean the name
|
||||||
$archivename = JPath::clean($archivename);
|
$archivename = Path::clean($archivename);
|
||||||
|
|
||||||
// check the extention
|
// check the extention
|
||||||
if(!$this->checkExtension($archivename))
|
if(!$this->checkExtension($archivename))
|
||||||
{
|
{
|
||||||
// Cleanup the import files
|
// Cleanup the import files
|
||||||
$this->remove($archivename);
|
$this->remove($archivename);
|
||||||
$app->enqueueMessage(JText::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
$app->enqueueMessage(Text::_('COM_###COMPONENT###_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$config = JFactory::getConfig();
|
$config = Factory::getConfig();
|
||||||
// set Package Name
|
// set Package Name
|
||||||
$check['packagename'] = $archivename;
|
$check['packagename'] = $archivename;
|
||||||
|
|
||||||
@ -268,9 +264,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
*/
|
*/
|
||||||
protected function remove($package)
|
protected function remove($package)
|
||||||
{
|
{
|
||||||
jimport('joomla.filesystem.file');
|
$config = Factory::getConfig();
|
||||||
|
|
||||||
$config = JFactory::getConfig();
|
|
||||||
$package = $config->get('tmp_path'). '/' .$package;
|
$package = $config->get('tmp_path'). '/' .$package;
|
||||||
|
|
||||||
// Is the package file a valid file?
|
// Is the package file a valid file?
|
||||||
@ -278,10 +272,10 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
{
|
{
|
||||||
File::delete($package);
|
File::delete($package);
|
||||||
}
|
}
|
||||||
elseif (is_file(JPath::clean($package)))
|
elseif (is_file(Path::clean($package)))
|
||||||
{
|
{
|
||||||
// It might also be just a base filename
|
// It might also be just a base filename
|
||||||
File::delete(JPath::clean($package));
|
File::delete(Path::clean($package));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
###IMPORT_SETDATA_METHOD###
|
###IMPORT_SETDATA_METHOD###
|
||||||
@ -290,13 +284,13 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
protected function getAlias($name,$type = false)
|
protected function getAlias($name,$type = false)
|
||||||
{
|
{
|
||||||
// sanitize the name to an alias
|
// sanitize the name to an alias
|
||||||
if (JFactory::getConfig()->get('unicodeslugs') == 1)
|
if (Factory::getConfig()->get('unicodeslugs') == 1)
|
||||||
{
|
{
|
||||||
$alias = JFilterOutput::stringURLUnicodeSlug($name);
|
$alias = OutputFilter::stringURLUnicodeSlug($name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$alias = JFilterOutput::stringURLSafe($name);
|
$alias = OutputFilter::stringURLSafe($name);
|
||||||
}
|
}
|
||||||
// must be a uniqe alias
|
// must be a uniqe alias
|
||||||
if ($type)
|
if ($type)
|
||||||
@ -320,7 +314,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
// insure the filed is always uniqe
|
// insure the filed is always uniqe
|
||||||
while (isset($this->uniqeValueArray[$type][$field][$value]))
|
while (isset($this->uniqeValueArray[$type][$field][$value]))
|
||||||
{
|
{
|
||||||
$value = JString::increment($value, 'dash');
|
$value = StringHelper::increment($value, 'dash');
|
||||||
}
|
}
|
||||||
$this->uniqeValueArray[$type][$field][$value] = $value;
|
$this->uniqeValueArray[$type][$field][$value] = $value;
|
||||||
return $value;
|
return $value;
|
||||||
@ -329,7 +323,7 @@ class ###Component###Model###View### extends BaseDatabaseModel
|
|||||||
protected function getAliasesUsed($table)
|
protected function getAliasesUsed($table)
|
||||||
{
|
{
|
||||||
// Get a db connection.
|
// Get a db connection.
|
||||||
$db = JFactory::getDbo();
|
$db = Factory::getDbo();
|
||||||
// first we check if there is a alias column
|
// first we check if there is a alias column
|
||||||
$columns = $db->getTableColumns('#__###component###_'.$table);
|
$columns = $db->getTableColumns('#__###component###_'.$table);
|
||||||
if(isset($columns['alias'])){
|
if(isset($columns['alias'])){
|
||||||
|
1
admin/compiler/joomla_3/CHANGELOG.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
###CHANGELOG###
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -22,7 +22,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
/**
|
/**
|
||||||
* ###Component### View class
|
* ###Component### View class
|
||||||
*/
|
*/
|
||||||
class ###Component###View###Component### extends JViewLegacy
|
class ###Component###View###Component### extends HtmlView
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* View display method
|
* View display method
|
||||||
@ -59,18 +59,18 @@ class ###Component###View###Component### extends JViewLegacy
|
|||||||
protected function addToolBar()
|
protected function addToolBar()
|
||||||
{
|
{
|
||||||
$canDo = ###Component###Helper::getActions('###component###');
|
$canDo = ###Component###Helper::getActions('###component###');
|
||||||
JToolBarHelper::title(JText::_('COM_###COMPONENT###_DASHBOARD'), 'grid-2');
|
ToolbarHelper::title(Text::_('COM_###COMPONENT###_DASHBOARD'), 'grid-2');
|
||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('###component###');
|
$this->help_url = ###Component###Helper::getHelpUrl('###component###');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($canDo->get('core.admin') || $canDo->get('core.options'))
|
if ($canDo->get('core.admin') || $canDo->get('core.options'))
|
||||||
{
|
{
|
||||||
JToolBarHelper::preferences('com_###component###');
|
ToolbarHelper::preferences('com_###component###');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,15 +81,17 @@ class ###Component###View###Component### extends JViewLegacy
|
|||||||
*/
|
*/
|
||||||
protected function setDocument()
|
protected function setDocument()
|
||||||
{
|
{
|
||||||
$document = JFactory::getDocument();
|
if (!isset($this->document))
|
||||||
|
{
|
||||||
// add dashboard style sheets
|
$this->document = Factory::getDocument();
|
||||||
$document->addStyleSheet(JURI::root() . "administrator/components/com_###component###/assets/css/dashboard.css");
|
}
|
||||||
|
|
||||||
// set page title
|
// set page title
|
||||||
$document->setTitle(JText::_('COM_###COMPONENT###_DASHBOARD'));
|
$this->document->setTitle(Text::_('COM_###COMPONENT###_DASHBOARD'));
|
||||||
|
|
||||||
// add manifest to page JavaScript
|
// add manifest to page JavaScript
|
||||||
$document->addScriptDeclaration("var manifest = jQuery.parseJSON('" . json_encode($this->manifest) . "');", "text/javascript");
|
$this->document->addScriptDeclaration("var manifest = jQuery.parseJSON('" . json_encode($this->manifest) . "');", "text/javascript");
|
||||||
|
|
||||||
|
// add dashboard style sheets
|
||||||
|
Html::_('stylesheet', "administrator/components/com_###component###/assets/css/dashboard.css", ['version' => 'auto']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -40,7 +40,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function __construct($config = array())
|
public function __construct($config = [])
|
||||||
{
|
{
|
||||||
$this->view_list = '###Views###'; // safeguard for setting the return view listing to the main view.
|
$this->view_list = '###Views###'; // safeguard for setting the return view listing to the main view.
|
||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
@ -55,7 +55,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
protected function allowAdd($data = array())
|
protected function allowAdd($data = [])
|
||||||
{###JCONTROLLERFORM_ALLOWADD###
|
{###JCONTROLLERFORM_ALLOWADD###
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
protected function allowEdit($data = array(), $key = 'id')
|
protected function allowEdit($data = [], $key = 'id')
|
||||||
{###JCONTROLLERFORM_ALLOWEDIT###
|
{###JCONTROLLERFORM_ALLOWEDIT###
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,13 +116,13 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*/
|
*/
|
||||||
public function batch($model = null)
|
public function batch($model = null)
|
||||||
{
|
{
|
||||||
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
|
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
// Set the model
|
// Set the model
|
||||||
$model = $this->getModel('###View###', '', array());
|
$model = $this->getModel('###View###', '', []);
|
||||||
|
|
||||||
// Preset the redirect
|
// Preset the redirect
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view=###views###' . $this->getRedirectToListAppend(), false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view=###views###' . $this->getRedirectToListAppend(), false));
|
||||||
|
|
||||||
return parent::batch($model);
|
return parent::batch($model);
|
||||||
}
|
}
|
||||||
@ -147,13 +147,13 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
$cancel = parent::cancel($key);
|
$cancel = parent::cancel($key);
|
||||||
|
|
||||||
if (!is_null($return) && JUri::isInternal(base64_decode($return)))
|
if (!is_null($return) && Uri::isInternal(base64_decode($return)))
|
||||||
{
|
{
|
||||||
$redirect = base64_decode($return);
|
$redirect = base64_decode($return);
|
||||||
|
|
||||||
// Redirect to the return value.
|
// Redirect to the return value.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
$redirect, false
|
$redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -164,7 +164,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the item screen.
|
// Redirect to the item screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -175,7 +175,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the list screen.
|
// Redirect to the list screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -201,7 +201,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Check if there is a return value
|
// Check if there is a return value
|
||||||
$return = $this->input->get('return', null, 'base64');
|
$return = $this->input->get('return', null, 'base64');
|
||||||
$canReturn = (!is_null($return) && JUri::isInternal(base64_decode($return)));
|
$canReturn = (!is_null($return) && Uri::isInternal(base64_decode($return)));
|
||||||
|
|
||||||
if ($this->ref || $this->refid || $canReturn)
|
if ($this->ref || $this->refid || $canReturn)
|
||||||
{
|
{
|
||||||
@ -219,7 +219,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the return value.
|
// Redirect to the return value.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
$redirect, false
|
$redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -230,7 +230,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the item screen.
|
// Redirect to the item screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -241,7 +241,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the list screen.
|
// Redirect to the list screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -253,15 +253,14 @@ class ###Component###Controller###View### 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 JModel &$model The data model object.
|
* @param BaseDatabaseModel &$model The data model object.
|
||||||
* @param array $validData The validated data.
|
* @param array $validData The validated data.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 11.1
|
* @since 11.1
|
||||||
*/
|
*/
|
||||||
protected function postSaveHook(JModelLegacy $model, $validData = array())
|
protected function postSaveHook(BaseDatabaseModel $model, $validData = [])
|
||||||
{###POSTSAVEHOOK###
|
{###POSTSAVEHOOK###
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -33,7 +33,7 @@ class ###Component###Controller###SView### extends FormController
|
|||||||
*/
|
*/
|
||||||
protected $task;
|
protected $task;
|
||||||
|
|
||||||
public function __construct($config = array())
|
public function __construct($config = [])
|
||||||
{
|
{
|
||||||
$this->view_list = '###SITE_DEFAULT_VIEW###'; // safeguard for setting the return view listing to the default site view.
|
$this->view_list = '###SITE_DEFAULT_VIEW###'; // safeguard for setting the return view listing to the default site view.
|
||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
@ -51,7 +51,7 @@ class ###Component###Controller###SView### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 12.2
|
* @since 12.2
|
||||||
*/
|
*/
|
||||||
protected function allowEdit($data = array(), $key = 'id')
|
protected function allowEdit($data = [], $key = 'id')
|
||||||
{
|
{
|
||||||
// to insure no other tampering
|
// to insure no other tampering
|
||||||
return false;
|
return false;
|
||||||
@ -66,7 +66,7 @@ class ###Component###Controller###SView### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
protected function allowAdd($data = array())
|
protected function allowAdd($data = [])
|
||||||
{
|
{
|
||||||
// to insure no other tampering
|
// to insure no other tampering
|
||||||
return false;
|
return false;
|
||||||
@ -94,14 +94,14 @@ class ###Component###Controller###SView### 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 JModelLegacy $model The data model object.
|
* @param BaseDatabaseModel &$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 11.1
|
||||||
*/
|
*/
|
||||||
protected function postSaveHook(JModelLegacy $model, $validData = array())
|
protected function postSaveHook(BaseDatabaseModel $model, $validData = [])
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -40,7 +40,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
public function __construct($config = array())
|
public function __construct($config = [])
|
||||||
{
|
{
|
||||||
$this->view_list = '###SITE_DEFAULT_VIEW###'; // safeguard for setting the return view listing to the default site view.
|
$this->view_list = '###SITE_DEFAULT_VIEW###'; // safeguard for setting the return view listing to the default site view.
|
||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
@ -55,7 +55,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
protected function allowAdd($data = array())
|
protected function allowAdd($data = [])
|
||||||
{###JCONTROLLERFORM_ALLOWADD###
|
{###JCONTROLLERFORM_ALLOWADD###
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*
|
*
|
||||||
* @since 1.6
|
* @since 1.6
|
||||||
*/
|
*/
|
||||||
protected function allowEdit($data = array(), $key = 'id')
|
protected function allowEdit($data = [], $key = 'id')
|
||||||
{###JCONTROLLERFORM_ALLOWEDIT###
|
{###JCONTROLLERFORM_ALLOWEDIT###
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,13 +116,13 @@ class ###Component###Controller###View### extends FormController
|
|||||||
*/
|
*/
|
||||||
public function batch($model = null)
|
public function batch($model = null)
|
||||||
{
|
{
|
||||||
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
|
Session::checkToken() or jexit(Text::_('JINVALID_TOKEN'));
|
||||||
|
|
||||||
// Set the model
|
// Set the model
|
||||||
$model = $this->getModel('###View###', '', array());
|
$model = $this->getModel('###View###', '', []);
|
||||||
|
|
||||||
// Preset the redirect
|
// Preset the redirect
|
||||||
$this->setRedirect(JRoute::_('index.php?option=com_###component###&view=###views###' . $this->getRedirectToListAppend(), false));
|
$this->setRedirect(Route::_('index.php?option=com_###component###&view=###views###' . $this->getRedirectToListAppend(), false));
|
||||||
|
|
||||||
return parent::batch($model);
|
return parent::batch($model);
|
||||||
}
|
}
|
||||||
@ -147,13 +147,13 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
$cancel = parent::cancel($key);
|
$cancel = parent::cancel($key);
|
||||||
|
|
||||||
if (!is_null($return) && JUri::isInternal(base64_decode($return)))
|
if (!is_null($return) && Uri::isInternal(base64_decode($return)))
|
||||||
{
|
{
|
||||||
$redirect = base64_decode($return);
|
$redirect = base64_decode($return);
|
||||||
|
|
||||||
// Redirect to the return value.
|
// Redirect to the return value.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
$redirect, false
|
$redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -164,7 +164,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the item screen.
|
// Redirect to the item screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -175,7 +175,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the list screen.
|
// Redirect to the list screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -201,7 +201,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Check if there is a return value
|
// Check if there is a return value
|
||||||
$return = $this->input->get('return', null, 'base64');
|
$return = $this->input->get('return', null, 'base64');
|
||||||
$canReturn = (!is_null($return) && JUri::isInternal(base64_decode($return)));
|
$canReturn = (!is_null($return) && Uri::isInternal(base64_decode($return)));
|
||||||
|
|
||||||
if ($this->ref || $this->refid || $canReturn)
|
if ($this->ref || $this->refid || $canReturn)
|
||||||
{
|
{
|
||||||
@ -219,7 +219,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the return value.
|
// Redirect to the return value.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
$redirect, false
|
$redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -230,7 +230,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the item screen.
|
// Redirect to the item screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -241,7 +241,7 @@ class ###Component###Controller###View### extends FormController
|
|||||||
|
|
||||||
// Redirect to the list screen.
|
// Redirect to the list screen.
|
||||||
$this->setRedirect(
|
$this->setRedirect(
|
||||||
JRoute::_(
|
Route::_(
|
||||||
'index.php?option=' . $this->option . $redirect, false
|
'index.php?option=' . $this->option . $redirect, false
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -253,14 +253,14 @@ class ###Component###Controller###View### 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 JModel &$model The data model object.
|
* @param BaseDatabaseModel &$model The data model object.
|
||||||
* @param array $validData The validated data.
|
* @param array $validData The validated data.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 11.1
|
* @since 11.1
|
||||||
*/
|
*/
|
||||||
protected function postSaveHook(JModelLegacy $model, $validData = array())
|
protected function postSaveHook(BaseDatabaseModel $model, $validData = [])
|
||||||
{###POSTSAVEHOOK###
|
{###POSTSAVEHOOK###
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -28,7 +28,7 @@ class ###Component######View###Categories extends JCategories
|
|||||||
* @param array $options Array of options
|
* @param array $options Array of options
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function __construct($options = array())
|
public function __construct($options = [])
|
||||||
{
|
{
|
||||||
$options['table'] = '#__###component###_###view###';
|
$options['table'] = '#__###component###_###view###';
|
||||||
$options['extension'] = 'com_###component###.###view###';
|
$options['extension'] = 'com_###component###.###view###';
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,11 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Component\ComponentHelper;
|
||||||
|
use Joomla\CMS\Mail\Mail;
|
||||||
|
use Joomla\Registry\Registry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### component email helper
|
* ###Component### component email helper
|
||||||
*/
|
*/
|
||||||
@ -27,28 +32,28 @@ abstract class ###Component###Email
|
|||||||
*
|
*
|
||||||
* @var activeRecipient (array)
|
* @var activeRecipient (array)
|
||||||
*/
|
*/
|
||||||
public static $active = array();
|
public static $active = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuraiton object
|
* Configuraiton object
|
||||||
*
|
*
|
||||||
* @var JConfig
|
* @var Registry
|
||||||
*/
|
*/
|
||||||
public static $config = null;
|
public static ?Registry $config = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mailer object
|
* Mailer object
|
||||||
*
|
*
|
||||||
* @var JMail
|
* @var Mail
|
||||||
*/
|
*/
|
||||||
public static $mailer = null;
|
public static ?Mail $mailer = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom Headers
|
* Custom Headers
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected static $header = array();
|
protected static array $header = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a configuration object
|
* Get a configuration object
|
||||||
@ -58,7 +63,7 @@ abstract class ###Component###Email
|
|||||||
{
|
{
|
||||||
if (!self::$config)
|
if (!self::$config)
|
||||||
{
|
{
|
||||||
self::$config = JComponentHelper::getParams('com_###component###');
|
self::$config = ComponentHelper::getParams('com_###component###');
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::$config;
|
return self::$config;
|
||||||
@ -97,7 +102,7 @@ abstract class ###Component###Email
|
|||||||
* @static
|
* @static
|
||||||
* @access public
|
* @access public
|
||||||
*/
|
*/
|
||||||
public static function validateAddress($address, $patternselect = null)
|
public static function validateAddress($address, $patternselect = null): bool
|
||||||
{
|
{
|
||||||
return self::getMailerInstance()->validateAddress($address, $patternselect);
|
return self::getMailerInstance()->validateAddress($address, $patternselect);
|
||||||
}
|
}
|
||||||
@ -105,13 +110,13 @@ abstract class ###Component###Email
|
|||||||
/**
|
/**
|
||||||
* Get a mailer object.
|
* Get a mailer object.
|
||||||
*
|
*
|
||||||
* Returns the global {@link JMail} object, only creating it if it doesn't already exist.
|
* Returns the global {@link Mail} object, only creating it if it doesn't already exist.
|
||||||
*
|
*
|
||||||
* @return JMail object
|
* @return Mail object
|
||||||
*
|
*
|
||||||
* @see JMail
|
* @see Mail
|
||||||
*/
|
*/
|
||||||
public static function getMailer()
|
public static function getMailer(): Mail
|
||||||
{
|
{
|
||||||
if (!self::$mailer)
|
if (!self::$mailer)
|
||||||
{
|
{
|
||||||
@ -126,11 +131,11 @@ abstract class ###Component###Email
|
|||||||
/**
|
/**
|
||||||
* Create a mailer object
|
* Create a mailer object
|
||||||
*
|
*
|
||||||
* @return JMail object
|
* @return Mail object
|
||||||
*
|
*
|
||||||
* @see JMail
|
* @see Mail
|
||||||
*/
|
*/
|
||||||
protected static function createMailer()
|
protected static function createMailer(): Mail
|
||||||
{
|
{
|
||||||
// set component params
|
// set component params
|
||||||
$conf = self::getConfig();
|
$conf = self::getConfig();
|
||||||
@ -138,14 +143,14 @@ abstract class ###Component###Email
|
|||||||
// now load the mailer
|
// now load the mailer
|
||||||
$mailer = $conf->get('mailer', 'global');
|
$mailer = $conf->get('mailer', 'global');
|
||||||
|
|
||||||
// Create a JMail object
|
// Create a Mail object
|
||||||
$mail = JMail::getInstance();
|
$mail = Mail::getInstance();
|
||||||
|
|
||||||
// check if set to global
|
// check if set to global
|
||||||
if ('global' == $mailer)
|
if ('global' == $mailer)
|
||||||
{
|
{
|
||||||
// get the global details
|
// get the global details
|
||||||
$globalConf = JFactory::getConfig();
|
$globalConf = Factory::getConfig();
|
||||||
|
|
||||||
$mailer = $globalConf->get('mailer');
|
$mailer = $globalConf->get('mailer');
|
||||||
$smtpauth = ($globalConf->get('smtpauth') == 0) ? null : 1;
|
$smtpauth = ($globalConf->get('smtpauth') == 0) ? null : 1;
|
||||||
@ -226,7 +231,7 @@ abstract class ###Component###Email
|
|||||||
*/
|
*/
|
||||||
public static function send($recipient, $subject, $body, $textonly, $mode = 0, $bounce_email = null, $idsession = null, $mailreply = null, $replyname = null , $mailfrom = null, $fromname = null, $cc = null, $bcc = null, $attachment = null, $embeded = null , $embeds = null)
|
public static function send($recipient, $subject, $body, $textonly, $mode = 0, $bounce_email = null, $idsession = null, $mailreply = null, $replyname = null , $mailfrom = null, $fromname = null, $cc = null, $bcc = null, $attachment = null, $embeded = null , $embeds = null)
|
||||||
{
|
{
|
||||||
// Get a JMail instance
|
// Get a Mail instance
|
||||||
$mail = self::getMailer();
|
$mail = self::getMailer();
|
||||||
|
|
||||||
// set component params
|
// set component params
|
||||||
@ -273,7 +278,7 @@ abstract class ###Component###Email
|
|||||||
//embed images
|
//embed images
|
||||||
if ($embeded)
|
if ($embeded)
|
||||||
{
|
{
|
||||||
if(###Component###Helper::checkArray($embeds))
|
if(Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($embeds))
|
||||||
{
|
{
|
||||||
foreach($embeds as $embed)
|
foreach($embeds as $embed)
|
||||||
{
|
{
|
||||||
@ -360,7 +365,7 @@ abstract class ###Component###Email
|
|||||||
*/
|
*/
|
||||||
public static function setBasicBody($html, $subject)
|
public static function setBasicBody($html, $subject)
|
||||||
{
|
{
|
||||||
$body = array();
|
$body = [];
|
||||||
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
|
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
|
||||||
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
|
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
|
||||||
$body[] = "<head>";
|
$body[] = "<head>";
|
||||||
@ -406,7 +411,7 @@ abstract class ###Component###Email
|
|||||||
*/
|
*/
|
||||||
public static function setTableBody($html, $subject)
|
public static function setTableBody($html, $subject)
|
||||||
{
|
{
|
||||||
$body = array();
|
$body = [];
|
||||||
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
|
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
|
||||||
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
|
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
|
||||||
$body[] = "<head>";
|
$body[] = "<head>";
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -15,9 +15,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
###BOM###
|
###BOM###
|
||||||
|
|
||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access'); ###LICENSE_LOCKED_DEFINED######CUSTOM_ADMIN_GET_MODULE_JIMPORT###
|
defined('_JEXEC') or die('Restricted access'); ###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
###CUSTOM_ADMIN_VIEW_HTML_HEADER###
|
###CUSTOM_ADMIN_VIEW_HTML_HEADER######CUSTOM_ADMIN_GET_MODULE_JIMPORT###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Html View class for the ###SView###
|
* ###Component### Html View class for the ###SView###
|
||||||
@ -28,13 +28,16 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
function display($tpl = null)
|
function display($tpl = null)
|
||||||
{
|
{
|
||||||
// get component params
|
// get component params
|
||||||
$this->params = JComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
// get the application
|
// get the application
|
||||||
$this->app = JFactory::getApplication();
|
$this->app = Factory::getApplication();
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user = JFactory::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###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,7 +46,7 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
protected function setDocument()
|
protected function setDocument()
|
||||||
{###CUSTOM_ADMIN_LIBRARIES_LOADER######CUSTOM_ADMIN_DOCUMENT_METADATA######CUSTOM_ADMIN_UIKIT_LOADER######CUSTOM_ADMIN_GOOGLECHART_LOADER######CUSTOM_ADMIN_FOOTABLE_LOADER######CUSTOM_ADMIN_DOCUMENT_CUSTOM_PHP###
|
{###CUSTOM_ADMIN_LIBRARIES_LOADER######CUSTOM_ADMIN_DOCUMENT_METADATA######CUSTOM_ADMIN_UIKIT_LOADER######CUSTOM_ADMIN_GOOGLECHART_LOADER######CUSTOM_ADMIN_FOOTABLE_LOADER######CUSTOM_ADMIN_DOCUMENT_CUSTOM_PHP###
|
||||||
// add the document default css file
|
// add the document default css file
|
||||||
$this->document->addStyleSheet(JURI::root(true) .'/administrator/components/com_###component###/assets/css/###sview###.css', (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');###CUSTOM_ADMIN_DOCUMENT_CUSTOM_CSS######CUSTOM_ADMIN_DOCUMENT_CUSTOM_JS###
|
Html::_('stylesheet', 'administrator/components/com_###component###/assets/css/###sview###.css', ['version' => 'auto']);###CUSTOM_ADMIN_DOCUMENT_CUSTOM_CSS######CUSTOM_ADMIN_DOCUMENT_CUSTOM_JS###
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -59,22 +62,22 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
// Check for empty title and add view name if param is set
|
// Check for empty title and add view name if param is set
|
||||||
if (empty($title))
|
if (empty($title))
|
||||||
{
|
{
|
||||||
$title = JText::_('COM_###COMPONENT###_###SVIEW###');
|
$title = Text::_('COM_###COMPONENT###_###SVIEW###');
|
||||||
}
|
}
|
||||||
// add title to the page
|
// add title to the page
|
||||||
JToolbarHelper::title($title,'###ICOMOON###');###CUSTOM_ADMIN_CUSTOM_BUTTONS###
|
ToolbarHelper::title($title,'###ICOMOON###');###CUSTOM_ADMIN_CUSTOM_BUTTONS###
|
||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('###sviews###');
|
$this->help_url = ###Component###Helper::getHelpUrl('###sviews###');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
// add the options comp button
|
// add the options comp button
|
||||||
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
||||||
{
|
{
|
||||||
JToolBarHelper::preferences('com_###component###');
|
ToolbarHelper::preferences('com_###component###');
|
||||||
}
|
}
|
||||||
}###CUSTOM_ADMIN_GET_MODULE###
|
}###CUSTOM_ADMIN_GET_MODULE###
|
||||||
|
|
||||||
@ -88,7 +91,17 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
public function escape($var)
|
public function escape($var)
|
||||||
{
|
{
|
||||||
// use the helper htmlEscape method instead.
|
// use the helper htmlEscape method instead.
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= JFactory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -31,7 +31,7 @@ class ###Component###View###View### extends HtmlView
|
|||||||
public function display($tpl = null)
|
public function display($tpl = null)
|
||||||
{
|
{
|
||||||
// set params
|
// set params
|
||||||
$this->params = JComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
// 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');
|
||||||
@ -40,7 +40,7 @@ class ###Component###View###View### extends HtmlView
|
|||||||
// 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
|
||||||
$jinput = JFactory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$this->ref = $jinput->get('ref', 0, 'word');
|
$this->ref = $jinput->get('ref', 0, 'word');
|
||||||
$this->refid = $jinput->get('refid', 0, 'int');
|
$this->refid = $jinput->get('refid', 0, 'int');
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -100,10 +100,10 @@ class ###Component###View###View### extends HtmlView
|
|||||||
if(strlen($var) > 30)
|
if(strlen($var) > 30)
|
||||||
{
|
{
|
||||||
// use the helper htmlEscape method instead and shorten the string
|
// use the helper htmlEscape method instead and shorten the string
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset, true, 30);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset, true, 30);
|
||||||
}
|
}
|
||||||
// use the helper htmlEscape method instead.
|
// use the helper htmlEscape method instead.
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -113,15 +113,26 @@ 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);
|
||||||
if (!isset($this->document))
|
$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::_('script', $this->script, ['version' => 'auto']);
|
||||||
|
Html::_('script', "administrator/components/com_###component###/views/###view###/submitbutton.js", ['version' => 'auto']);###DOCUMENT_CUSTOM_PHP###
|
||||||
|
Text::script('view not acceptable. Error');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
{
|
{
|
||||||
$this->document = JFactory::getDocument();
|
$this->document ??= JFactory::getDocument();
|
||||||
}
|
|
||||||
$this->document->setTitle(JText::_($isNew ? 'COM_###COMPONENT###_###VIEW###_NEW' : 'COM_###COMPONENT###_###VIEW###_EDIT'));
|
return $this->document;
|
||||||
$this->document->addStyleSheet(JURI::root() . "administrator/components/com_###component###/assets/css/###view###.css", (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');###AJAXTOKE######LINKEDVIEWTABLESCRIPTS###
|
|
||||||
$this->document->addScript(JURI::root() . $this->script, (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
|
||||||
$this->document->addScript(JURI::root() . "administrator/components/com_###component###/views/###view###/submitbutton.js", (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript'); ###DOCUMENT_CUSTOM_PHP###
|
|
||||||
JText::script('view not acceptable. Error');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -31,7 +31,7 @@ class ###Component###View###View### extends HtmlView
|
|||||||
public function display($tpl = null)
|
public function display($tpl = null)
|
||||||
{
|
{
|
||||||
// set params
|
// set params
|
||||||
$this->params = JComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
// 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');
|
||||||
@ -40,7 +40,7 @@ class ###Component###View###View### extends HtmlView
|
|||||||
// 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
|
||||||
$jinput = JFactory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
$this->ref = $jinput->get('ref', 0, 'word');
|
$this->ref = $jinput->get('ref', 0, 'word');
|
||||||
$this->refid = $jinput->get('refid', 0, 'int');
|
$this->refid = $jinput->get('refid', 0, 'int');
|
||||||
$return = $jinput->get('return', null, 'base64');
|
$return = $jinput->get('return', null, 'base64');
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ class ###Component###View###View### extends HtmlView
|
|||||||
protected function addToolBar()
|
protected function addToolBar()
|
||||||
{###ADDTOOLBAR###
|
{###ADDTOOLBAR###
|
||||||
// now initiate the toolbar
|
// now initiate the toolbar
|
||||||
$this->toolbar = JToolbar::getInstance();
|
$this->toolbar = Toolbar::getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -101,10 +101,10 @@ class ###Component###View###View### extends HtmlView
|
|||||||
if(strlen($var) > 30)
|
if(strlen($var) > 30)
|
||||||
{
|
{
|
||||||
// use the helper htmlEscape method instead and shorten the string
|
// use the helper htmlEscape method instead and shorten the string
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset, true, 30);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset, true, 30);
|
||||||
}
|
}
|
||||||
// use the helper htmlEscape method instead.
|
// use the helper htmlEscape method instead.
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -114,12 +114,13 @@ 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);
|
||||||
if (!isset($this->document))
|
$this->getDocument()->setTitle(Text::_($isNew ? 'COM_###COMPONENT###_###VIEW###_NEW' : 'COM_###COMPONENT###_###VIEW###_EDIT'));
|
||||||
{
|
|
||||||
$this->document = JFactory::getDocument();
|
|
||||||
}
|
|
||||||
$this->document->setTitle(JText::_($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)
|
||||||
// you can override this in the global component options
|
// you can override this in the global component options
|
||||||
// just add a (radio yes/no field) with a name called add_isis_template
|
// just add a (radio yes/no field) with a name called add_isis_template
|
||||||
@ -127,14 +128,24 @@ class ###Component###View###View### extends HtmlView
|
|||||||
if ($this->params->get('add_isis_template', 1))
|
if ($this->params->get('add_isis_template', 1))
|
||||||
{
|
{
|
||||||
// we need this to fix the form display (TODO)
|
// we need this to fix the form display (TODO)
|
||||||
$this->document->addStyleSheet(JURI::root() . "administrator/templates/isis/css/template.css", (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');
|
Html::_('stylesheet', "administrator/templates/isis/css/template.css", ['version' => 'auto']);
|
||||||
$this->document->addScript(JURI::root() . "administrator/templates/isis/js/template.js", (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
Html::_('script', "administrator/templates/isis/js/template.js", ['version' => 'auto']);
|
||||||
}
|
}
|
||||||
// the default style of this view
|
// the default style of this view
|
||||||
$this->document->addStyleSheet(JURI::root()."components/com_###component###/assets/css/###view###.css", (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');###AJAXTOKE######LINKEDVIEWTABLESCRIPTS###
|
Html::_('stylesheet', "components/com_###component###/assets/css/###view###.css", ['version' => 'auto']);###AJAXTOKE######LINKEDVIEWTABLESCRIPTS###
|
||||||
// default javascript of this view
|
// default javascript of this view
|
||||||
$this->document->addScript(JURI::root(). $this->script, (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript');
|
Html::_('script', $this->script, ['version' => 'auto']);
|
||||||
$this->document->addScript(JURI::root(). "components/com_###component###/views/###view###/submitbutton.js", (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/javascript'); ###DOCUMENT_CUSTOM_PHP###
|
Html::_('script', "components/com_###component###/views/###view###/submitbutton.js", ['version' => 'auto']);###DOCUMENT_CUSTOM_PHP###
|
||||||
JText::script('view not acceptable. Error');
|
Text::script('view not acceptable. Error');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= JFactory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\MVC\View\HtmlView;
|
use Joomla\CMS\MVC\View\HtmlView;
|
||||||
|
use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Import Html View
|
* ###Component### Import Html View
|
||||||
@ -55,7 +58,7 @@ class ###Component###ViewImport extends HtmlView
|
|||||||
}
|
}
|
||||||
|
|
||||||
// get the session object
|
// get the session object
|
||||||
$session = JFactory::getSession();
|
$session = Factory::getSession();
|
||||||
// check if it has package
|
// check if it has package
|
||||||
$this->hasPackage = $session->get('hasPackage', false);
|
$this->hasPackage = $session->get('hasPackage', false);
|
||||||
$this->dataType = $session->get('dataType', false);
|
$this->dataType = $session->get('dataType', false);
|
||||||
@ -82,19 +85,19 @@ class ###Component###ViewImport extends HtmlView
|
|||||||
*/
|
*/
|
||||||
protected function addToolBar()
|
protected function addToolBar()
|
||||||
{
|
{
|
||||||
JToolBarHelper::title(JText::_('COM_###COMPONENT###_IMPORT_TITLE'), 'upload');
|
ToolbarHelper::title(Text::_('COM_###COMPONENT###_IMPORT_TITLE'), 'upload');
|
||||||
JHtmlSidebar::setAction('index.php?option=com_###component###&view=import');
|
JHtmlSidebar::setAction('index.php?option=com_###component###&view=import');
|
||||||
|
|
||||||
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
||||||
{
|
{
|
||||||
JToolBarHelper::preferences('com_###component###');
|
ToolbarHelper::preferences('com_###component###');
|
||||||
}
|
}
|
||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('import');
|
$this->help_url = ###Component###Helper::getHelpUrl('import');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,13 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\Form\FormHelper;
|
||||||
use Joomla\CMS\MVC\View\HtmlView;
|
use Joomla\CMS\MVC\View\HtmlView;
|
||||||
|
use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||||
|
use Joomla\CMS\Component\ComponentHelper;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### ###View### Html View
|
* ###Component### ###View### Html View
|
||||||
@ -30,19 +36,19 @@ class ###Component###View###View### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
protected function addToolBar()
|
protected function addToolBar()
|
||||||
{
|
{
|
||||||
JToolBarHelper::title(JText::_('COM_###COMPONENT###_IMPORT_TITLE'), 'upload');
|
ToolbarHelper::title(Text::_('COM_###COMPONENT###_IMPORT_TITLE'), 'upload');
|
||||||
JHtmlSidebar::setAction('index.php?option=com_###component###&view=###view###');
|
JHtmlSidebar::setAction('index.php?option=com_###component###&view=###view###');
|
||||||
|
|
||||||
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
||||||
{
|
{
|
||||||
JToolBarHelper::preferences('com_###component###');
|
ToolbarHelper::preferences('com_###component###');
|
||||||
}
|
}
|
||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('###view###');
|
$this->help_url = ###Component###Helper::getHelpUrl('###view###');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -40,10 +40,10 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
$this->items = $this->get('Items');
|
$this->items = $this->get('Items');
|
||||||
$this->pagination = $this->get('Pagination');
|
$this->pagination = $this->get('Pagination');
|
||||||
$this->state = $this->get('State');
|
$this->state = $this->get('State');
|
||||||
$this->user = JFactory::getUser();###ADMIN_DIPLAY_METHOD###
|
$this->user = Factory::getUser();###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) JUri::getInstance()));
|
$this->return_here = urlencode(base64_encode((string) Uri::getInstance()));
|
||||||
// get global action permissions
|
// get global action permissions
|
||||||
$this->canDo = ###Component###Helper::getActions('###view###');###JVIEWLISTCANDO###
|
$this->canDo = ###Component###Helper::getActions('###view###');###JVIEWLISTCANDO###
|
||||||
|
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,32 +77,32 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
*/
|
*/
|
||||||
protected function addToolBar()
|
protected function addToolBar()
|
||||||
{
|
{
|
||||||
JToolBarHelper::title(JText::_('COM_###COMPONENT###_###VIEWS###'), '###ICOMOON###');
|
|
||||||
JHtmlSidebar::setAction('index.php?option=com_###component###&view=###views###');
|
JHtmlSidebar::setAction('index.php?option=com_###component###&view=###views###');
|
||||||
JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
|
ToolbarHelper::title(Text::_('COM_###COMPONENT###_###VIEWS###'), '###ICOMOON###');
|
||||||
|
FormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
|
||||||
|
|
||||||
if ($this->canCreate)
|
if ($this->canCreate)
|
||||||
{
|
{
|
||||||
JToolBarHelper::addNew('###view###.add');
|
ToolbarHelper::addNew('###view###.add');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only load if there are items
|
// Only load if there are items
|
||||||
if (###Component###Helper::checkArray($this->items))
|
if (Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($this->items))
|
||||||
{
|
{
|
||||||
if ($this->canEdit)
|
if ($this->canEdit)
|
||||||
{
|
{
|
||||||
JToolBarHelper::editList('###view###.edit');
|
ToolbarHelper::editList('###view###.edit');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->canState)
|
if ($this->canState)
|
||||||
{
|
{
|
||||||
JToolBarHelper::publishList('###views###.publish');
|
ToolbarHelper::publishList('###views###.publish');
|
||||||
JToolBarHelper::unpublishList('###views###.unpublish');
|
ToolbarHelper::unpublishList('###views###.unpublish');
|
||||||
JToolBarHelper::archiveList('###views###.archive');
|
ToolbarHelper::archiveList('###views###.archive');
|
||||||
|
|
||||||
if ($this->canDo->get('core.admin'))
|
if ($this->canDo->get('core.admin'))
|
||||||
{
|
{
|
||||||
JToolBarHelper::checkin('###views###.checkin');
|
ToolbarHelper::checkin('###views###.checkin');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,11 +110,11 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
if ($this->canBatch && $this->canCreate && $this->canEdit && $this->canState)
|
if ($this->canBatch && $this->canCreate && $this->canEdit && $this->canState)
|
||||||
{
|
{
|
||||||
// Get the toolbar object instance
|
// Get the toolbar object instance
|
||||||
$bar = JToolBar::getInstance('toolbar');
|
$bar = Toolbar::getInstance('toolbar');
|
||||||
// set the batch button name
|
// set the batch button name
|
||||||
$title = JText::_('JTOOLBAR_BATCH');
|
$title = Text::_('JTOOLBAR_BATCH');
|
||||||
// Instantiate a new JLayoutFile instance and render the batch button
|
// Instantiate a new JLayoutFile instance and render the batch button
|
||||||
$layout = new JLayoutFile('joomla.toolbar.batch');
|
$layout = new FileLayout('joomla.toolbar.batch');
|
||||||
// add the button to the page
|
// add the button to the page
|
||||||
$dhtml = $layout->render(array('title' => $title));
|
$dhtml = $layout->render(array('title' => $title));
|
||||||
$bar->appendButton('Custom', $dhtml, 'batch');
|
$bar->appendButton('Custom', $dhtml, 'batch');
|
||||||
@ -122,25 +122,25 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
|
|
||||||
if ($this->state->get('filter.published') == -2 && ($this->canState && $this->canDelete))
|
if ($this->state->get('filter.published') == -2 && ($this->canState && $this->canDelete))
|
||||||
{
|
{
|
||||||
JToolbarHelper::deleteList('', '###views###.delete', 'JTOOLBAR_EMPTY_TRASH');
|
ToolbarHelper::deleteList('', '###views###.delete', 'JTOOLBAR_EMPTY_TRASH');
|
||||||
}
|
}
|
||||||
elseif ($this->canState && $this->canDelete)
|
elseif ($this->canState && $this->canDelete)
|
||||||
{
|
{
|
||||||
JToolbarHelper::trash('###views###.trash');
|
ToolbarHelper::trash('###views###.trash');
|
||||||
}###EXPORTBUTTON###
|
}###EXPORTBUTTON###
|
||||||
}###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST######IMPORTBUTTON###
|
}###ADMIN_CUSTOM_FUNCTION_ONLY_BUTTONS_LIST######IMPORTBUTTON###
|
||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('###views###');
|
$this->help_url = ###Component###Helper::getHelpUrl('###views###');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
// add the options comp button
|
// add the options comp button
|
||||||
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
||||||
{
|
{
|
||||||
JToolBarHelper::preferences('com_###component###');
|
ToolbarHelper::preferences('com_###component###');
|
||||||
}###FILTERFIELDDISPLAYHELPER######BATCHDISPLAYHELPER###
|
}###FILTERFIELDDISPLAYHELPER######BATCHDISPLAYHELPER###
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,12 +151,17 @@ 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 = JFactory::getDocument();
|
$this->document = Factory::getDocument();
|
||||||
}
|
}
|
||||||
$this->document->setTitle(JText::_('COM_###COMPONENT###_###VIEWS###'));
|
$this->document->setTitle(Text::_('COM_###COMPONENT###_###VIEWS###'));
|
||||||
$this->document->addStyleSheet(JURI::root() . "administrator/components/com_###component###/assets/css/###views###.css", (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');###ADMIN_ADD_JAVASCRIPT_FILE###
|
Html::_('stylesheet', "administrator/components/com_###component###/assets/css/###views###.css", ['version' => 'auto']);###ADMIN_ADD_JAVASCRIPT_FILE###
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -171,10 +176,10 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
if(strlen($var) > 50)
|
if(strlen($var) > 50)
|
||||||
{
|
{
|
||||||
// use the helper htmlEscape method instead and shorten the string
|
// use the helper htmlEscape method instead and shorten the string
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset, true);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset, true);
|
||||||
}
|
}
|
||||||
// use the helper htmlEscape method instead.
|
// use the helper htmlEscape method instead.
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -185,5 +190,15 @@ class ###Component###View###Views### extends HtmlView
|
|||||||
protected function getSortFields()
|
protected function getSortFields()
|
||||||
{
|
{
|
||||||
###SORTFIELDS###
|
###SORTFIELDS###
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= JFactory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
}###FILTERFUNCTIONS###
|
}###FILTERFUNCTIONS###
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -15,9 +15,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
###BOM###
|
###BOM###
|
||||||
|
|
||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED######CUSTOM_ADMIN_GET_MODULE_JIMPORT###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
###CUSTOM_ADMIN_VIEWS_HTML_HEADER###
|
###CUSTOM_ADMIN_VIEWS_HTML_HEADER######CUSTOM_ADMIN_GET_MODULE_JIMPORT###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Html View class for the ###SViews###
|
* ###Component### Html View class for the ###SViews###
|
||||||
@ -28,13 +28,16 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
function display($tpl = null)
|
function display($tpl = null)
|
||||||
{
|
{
|
||||||
// get component params
|
// get component params
|
||||||
$this->params = JComponentHelper::getParams('com_###component###');
|
$this->params = ComponentHelper::getParams('com_###component###');
|
||||||
// get the application
|
// get the application
|
||||||
$this->app = JFactory::getApplication();
|
$this->app = Factory::getApplication();
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user = JFactory::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###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,7 +46,7 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
protected function setDocument()
|
protected function setDocument()
|
||||||
{###CUSTOM_ADMIN_LIBRARIES_LOADER######CUSTOM_ADMIN_UIKIT_LOADER######CUSTOM_ADMIN_GOOGLECHART_LOADER######CUSTOM_ADMIN_FOOTABLE_LOADER######CUSTOM_ADMIN_DOCUMENT_CUSTOM_PHP###
|
{###CUSTOM_ADMIN_LIBRARIES_LOADER######CUSTOM_ADMIN_UIKIT_LOADER######CUSTOM_ADMIN_GOOGLECHART_LOADER######CUSTOM_ADMIN_FOOTABLE_LOADER######CUSTOM_ADMIN_DOCUMENT_CUSTOM_PHP###
|
||||||
// add the document default css file
|
// add the document default css file
|
||||||
$this->document->addStyleSheet(JURI::root(true) .'/administrator/components/com_###component###/assets/css/###sviews###.css', (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');###CUSTOM_ADMIN_DOCUMENT_CUSTOM_CSS######CUSTOM_ADMIN_DOCUMENT_CUSTOM_JS###
|
Html::_('stylesheet', 'administrator/components/com_###component###/assets/css/###sviews###.css', ['version' => 'auto']);###CUSTOM_ADMIN_DOCUMENT_CUSTOM_CSS######CUSTOM_ADMIN_DOCUMENT_CUSTOM_JS###
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -52,19 +55,19 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
protected function addToolBar()
|
protected function addToolBar()
|
||||||
{###HIDEMAINMENU###
|
{###HIDEMAINMENU###
|
||||||
// add title to the page
|
// add title to the page
|
||||||
JToolbarHelper::title(JText::_('COM_###COMPONENT###_###SVIEWS###'),'###ICOMOON###');###CUSTOM_ADMIN_CUSTOM_BUTTONS###
|
ToolbarHelper::title(Text::_('COM_###COMPONENT###_###SVIEWS###'),'###ICOMOON###');###CUSTOM_ADMIN_CUSTOM_BUTTONS###
|
||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('###sviews###');
|
$this->help_url = ###Component###Helper::getHelpUrl('###sviews###');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
// add the options comp button
|
// add the options comp button
|
||||||
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
|
||||||
{
|
{
|
||||||
JToolBarHelper::preferences('com_###component###');
|
ToolbarHelper::preferences('com_###component###');
|
||||||
}
|
}
|
||||||
}###CUSTOM_ADMIN_GET_MODULE###
|
}###CUSTOM_ADMIN_GET_MODULE###
|
||||||
|
|
||||||
@ -78,6 +81,16 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
public function escape($var)
|
public function escape($var)
|
||||||
{
|
{
|
||||||
// use the helper htmlEscape method instead.
|
// use the helper htmlEscape method instead.
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= JFactory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -15,9 +15,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
###BOM###
|
###BOM###
|
||||||
|
|
||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED######SITE_GET_MODULE_JIMPORT###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
###SITE_VIEWS_HTML_HEADER###
|
###SITE_VIEWS_HTML_HEADER######SITE_GET_MODULE_JIMPORT###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Html View class for the ###SViews###
|
* ###Component### Html View class for the ###SViews###
|
||||||
@ -28,11 +28,14 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
function display($tpl = null)
|
function display($tpl = null)
|
||||||
{
|
{
|
||||||
// get combined params of both component and menu
|
// get combined params of both component and menu
|
||||||
$this->app = JFactory::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();
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user = JFactory::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###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,7 +44,7 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
protected function _prepareDocument()
|
protected function _prepareDocument()
|
||||||
{###SITE_LIBRARIES_LOADER######SITE_UIKIT_LOADER######SITE_GOOGLECHART_LOADER######SITE_FOOTABLE_LOADER######SITE_DOCUMENT_METADATA######SITE_DOCUMENT_CUSTOM_PHP###
|
{###SITE_LIBRARIES_LOADER######SITE_UIKIT_LOADER######SITE_GOOGLECHART_LOADER######SITE_FOOTABLE_LOADER######SITE_DOCUMENT_METADATA######SITE_DOCUMENT_CUSTOM_PHP###
|
||||||
// add the document default css file
|
// add the document default css file
|
||||||
$this->document->addStyleSheet(JURI::root(true) .'/components/com_###component###/assets/css/###sview###.css', (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');###SITE_DOCUMENT_CUSTOM_CSS######SITE_DOCUMENT_CUSTOM_JS######SITE_JAVASCRIPT_FOR_BUTTONS###
|
Html::_('stylesheet', 'components/com_###component###/assets/css/###sview###.css', ['version' => 'auto']);###SITE_DOCUMENT_CUSTOM_CSS######SITE_DOCUMENT_CUSTOM_JS######SITE_JAVASCRIPT_FOR_BUTTONS###
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -52,12 +55,12 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('###sviews###');
|
$this->help_url = ###Component###Helper::getHelpUrl('###sviews###');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::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 = JToolbar::getInstance();
|
$this->toolbar = Toolbar::getInstance();
|
||||||
}###SITE_GET_MODULE###
|
}###SITE_GET_MODULE###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,6 +73,16 @@ class ###Component###View###SViews### extends HtmlView
|
|||||||
public function escape($var, $sorten = false, $length = 40)
|
public function escape($var, $sorten = false, $length = 40)
|
||||||
{
|
{
|
||||||
// use the helper htmlEscape method instead.
|
// use the helper htmlEscape method instead.
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset, $sorten, $length);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset, $sorten, $length);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= JFactory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -15,9 +15,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
###BOM###
|
###BOM###
|
||||||
|
|
||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED######SITE_GET_MODULE_JIMPORT###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
###SITE_VIEW_HTML_HEADER###
|
###SITE_VIEW_HTML_HEADER######SITE_GET_MODULE_JIMPORT###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Html View class for the ###SView###
|
* ###Component### Html View class for the ###SView###
|
||||||
@ -28,11 +28,14 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
function display($tpl = null)
|
function display($tpl = null)
|
||||||
{
|
{
|
||||||
// get combined params of both component and menu
|
// get combined params of both component and menu
|
||||||
$this->app = JFactory::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();
|
||||||
// get the user object
|
// get the user object
|
||||||
$this->user = JFactory::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###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,7 +44,7 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
protected function _prepareDocument()
|
protected function _prepareDocument()
|
||||||
{###SITE_LIBRARIES_LOADER######SITE_UIKIT_LOADER######SITE_GOOGLECHART_LOADER######SITE_FOOTABLE_LOADER######SITE_DOCUMENT_METADATA######SITE_DOCUMENT_CUSTOM_PHP###
|
{###SITE_LIBRARIES_LOADER######SITE_UIKIT_LOADER######SITE_GOOGLECHART_LOADER######SITE_FOOTABLE_LOADER######SITE_DOCUMENT_METADATA######SITE_DOCUMENT_CUSTOM_PHP###
|
||||||
// add the document default css file
|
// add the document default css file
|
||||||
$this->document->addStyleSheet(JURI::root(true) .'/components/com_###component###/assets/css/###sview###.css', (###Component###Helper::jVersion()->isCompatible('3.8.0')) ? array('version' => 'auto') : 'text/css');###SITE_DOCUMENT_CUSTOM_CSS######SITE_DOCUMENT_CUSTOM_JS######SITE_JAVASCRIPT_FOR_BUTTONS###
|
Html::_('stylesheet', 'components/com_###component###/assets/css/###sview###.css', ['version' => 'auto']);###SITE_DOCUMENT_CUSTOM_CSS######SITE_DOCUMENT_CUSTOM_JS######SITE_JAVASCRIPT_FOR_BUTTONS###
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -52,12 +55,12 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
|
|
||||||
// set help url for this view if found
|
// set help url for this view if found
|
||||||
$this->help_url = ###Component###Helper::getHelpUrl('###sview###');
|
$this->help_url = ###Component###Helper::getHelpUrl('###sview###');
|
||||||
if (###Component###Helper::checkString($this->help_url))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($this->help_url))
|
||||||
{
|
{
|
||||||
JToolbarHelper::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 = JToolbar::getInstance();
|
$this->toolbar = Toolbar::getInstance();
|
||||||
}###SITE_GET_MODULE###
|
}###SITE_GET_MODULE###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,6 +73,16 @@ class ###Component###View###SView### extends HtmlView
|
|||||||
public function escape($var, $sorten = false, $length = 40)
|
public function escape($var, $sorten = false, $length = 40)
|
||||||
{
|
{
|
||||||
// use the helper htmlEscape method instead.
|
// use the helper htmlEscape method instead.
|
||||||
return ###Component###Helper::htmlEscape($var, $this->_charset, $sorten, $length);
|
return Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::html($var, $this->_charset, $sorten, $length);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Document (helper method toward Joomla 4 and 5)
|
||||||
|
*/
|
||||||
|
public function getDocument()
|
||||||
|
{
|
||||||
|
$this->document ??= JFactory::getDocument();
|
||||||
|
|
||||||
|
return $this->document;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -61,7 +61,7 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
*/
|
*/
|
||||||
protected function populateState()
|
protected function populateState()
|
||||||
{
|
{
|
||||||
$this->app = JFactory::getApplication();
|
$this->app = Factory::getApplication();
|
||||||
$this->input = $this->app->input;
|
$this->input = $this->app->input;
|
||||||
// Get the item main id
|
// Get the item main id
|
||||||
$id = $this->input->getInt('id', null);
|
$id = $this->input->getInt('id', null);
|
||||||
@ -80,12 +80,12 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
*/
|
*/
|
||||||
public function getItem($pk = null)
|
public function getItem($pk = null)
|
||||||
{
|
{
|
||||||
$this->user = JFactory::getUser();
|
$this->user = Factory::getUser();
|
||||||
// check if this user has permission to access item
|
// check if this user has permission to access item
|
||||||
if (!$this->user->authorise('###sview###.access', 'com_###component###'))
|
if (!$this->user->authorise('###sview###.access', 'com_###component###'))
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$app->enqueueMessage(JText::_('Not authorised!'), 'error');
|
$app->enqueueMessage(Text::_('Not authorised!'), 'error');
|
||||||
// redirect away if not a correct to cPanel/default view
|
// redirect away if not a correct to cPanel/default view
|
||||||
$app->redirect('index.php?option=com_###component###');
|
$app->redirect('index.php?option=com_###component###');
|
||||||
return false;
|
return false;
|
||||||
@ -101,7 +101,7 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
|
|
||||||
if ($this->_item === null)
|
if ($this->_item === null)
|
||||||
{
|
{
|
||||||
$this->_item = array();
|
$this->_item = [];
|
||||||
}###LICENSE_LOCKED_CHECK###
|
}###LICENSE_LOCKED_CHECK###
|
||||||
|
|
||||||
if (!isset($this->_item[$pk]))
|
if (!isset($this->_item[$pk]))
|
||||||
@ -114,7 +114,7 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
if ($e->getCode() == 404)
|
if ($e->getCode() == 404)
|
||||||
{
|
{
|
||||||
// Need to go thru the error handler to allow Redirect to work.
|
// Need to go thru the error handler to allow Redirect to work.
|
||||||
JError::raiseWarning(404, $e->getMessage());
|
JError::raiseError(404, $e->getMessage());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -61,7 +61,7 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
*/
|
*/
|
||||||
protected function populateState()
|
protected function populateState()
|
||||||
{
|
{
|
||||||
$this->app = JFactory::getApplication();
|
$this->app = Factory::getApplication();
|
||||||
$this->input = $this->app->input;
|
$this->input = $this->app->input;
|
||||||
// Get the itme main id
|
// Get the itme main id
|
||||||
$id = $this->input->getInt('id', null);
|
$id = $this->input->getInt('id', null);
|
||||||
@ -82,7 +82,7 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
*/
|
*/
|
||||||
public function getItem($pk = null)
|
public function getItem($pk = null)
|
||||||
{
|
{
|
||||||
$this->user = JFactory::getUser();###USER_PERMISSION_CHECK_ACCESS###
|
$this->user = Factory::getUser();###USER_PERMISSION_CHECK_ACCESS###
|
||||||
$this->userId = $this->user->get('id');
|
$this->userId = $this->user->get('id');
|
||||||
$this->guest = $this->user->get('guest');
|
$this->guest = $this->user->get('guest');
|
||||||
$this->groups = $this->user->get('groups');
|
$this->groups = $this->user->get('groups');
|
||||||
@ -94,7 +94,7 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
|
|
||||||
if ($this->_item === null)
|
if ($this->_item === null)
|
||||||
{
|
{
|
||||||
$this->_item = array();
|
$this->_item = [];
|
||||||
}###LICENSE_LOCKED_CHECK###
|
}###LICENSE_LOCKED_CHECK###
|
||||||
|
|
||||||
if (!isset($this->_item[$pk]))
|
if (!isset($this->_item[$pk]))
|
||||||
@ -107,7 +107,7 @@ class ###Component###Model###SView### extends ItemModel
|
|||||||
if ($e->getCode() == 404)
|
if ($e->getCode() == 404)
|
||||||
{
|
{
|
||||||
// Need to go thru the error handler to allow Redirect to work.
|
// Need to go thru the error handler to allow Redirect to work.
|
||||||
JError::raiseWarning(404, $e->getMessage());
|
JError::raiseError(404, $e->getMessage());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,765 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* @package Joomla.Component.Builder
|
|
||||||
*
|
|
||||||
* @created 30th April, 2015
|
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
|
||||||
* @copyright Copyright (C) 2015 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('Restricted access');###ADMIN_POWER_HELPER###
|
|
||||||
|
|
||||||
###ADMIN_HELPER_CLASS_HEADER###
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ###Component### component helper.
|
|
||||||
*/
|
|
||||||
abstract class ###Component###Helper
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Adding the utilities trait to this class
|
|
||||||
*
|
|
||||||
* @deprecated 4.0 - Check the trait methods for details, a legacy implementation
|
|
||||||
*/
|
|
||||||
use Utilities;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the Component Code Name
|
|
||||||
*/
|
|
||||||
public static $ComponentCodeName = '###component###';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Composer Switch
|
|
||||||
*
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
protected static $composer = array();###ADMIN_GLOBAL_EVENT_HELPER######CUSTOM_HELPER_SCRIPT######BOTH_CUSTOM_HELPER_SCRIPT###
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load the Composer Vendors
|
|
||||||
*/
|
|
||||||
public static function composerAutoload($target)
|
|
||||||
{
|
|
||||||
// insure we load the composer vendor only once
|
|
||||||
if (!isset(self::$composer[$target]))
|
|
||||||
{
|
|
||||||
// get the function name
|
|
||||||
$functionName = self::safeString('compose' . $target);
|
|
||||||
// check if method exist
|
|
||||||
if (method_exists(__CLASS__, $functionName))
|
|
||||||
{
|
|
||||||
return self::{$functionName}();
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return self::$composer[$target];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load the Component xml manifest.
|
|
||||||
*/
|
|
||||||
public static function manifest()
|
|
||||||
{
|
|
||||||
$manifestUrl = JPATH_ADMINISTRATOR."/components/com_###component###/###component###.xml";
|
|
||||||
return simplexml_load_file($manifestUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Joomla version object
|
|
||||||
*/
|
|
||||||
protected static $JVersion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* set/get Joomla version
|
|
||||||
*/
|
|
||||||
public static function jVersion()
|
|
||||||
{
|
|
||||||
// check if set
|
|
||||||
if (!self::checkObject(self::$JVersion))
|
|
||||||
{
|
|
||||||
self::$JVersion = new JVersion();
|
|
||||||
}
|
|
||||||
return self::$JVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load the Contributors details.
|
|
||||||
*/
|
|
||||||
public static function getContributors()
|
|
||||||
{
|
|
||||||
// get params
|
|
||||||
$params = JComponentHelper::getParams('com_###component###');
|
|
||||||
// start contributors array
|
|
||||||
$contributors = array();
|
|
||||||
// get all Contributors (max 20)
|
|
||||||
$searchArray = range('0','20');
|
|
||||||
foreach($searchArray as $nr)
|
|
||||||
{
|
|
||||||
if ((NULL !== $params->get("showContributor".$nr)) && ($params->get("showContributor".$nr) == 1 || $params->get("showContributor".$nr) == 3))
|
|
||||||
{
|
|
||||||
// set link based of selected option
|
|
||||||
if($params->get("useContributor".$nr) == 1)
|
|
||||||
{
|
|
||||||
$link_front = '<a href="mailto:'.$params->get("emailContributor".$nr).'" target="_blank">';
|
|
||||||
$link_back = '</a>';
|
|
||||||
}
|
|
||||||
elseif($params->get("useContributor".$nr) == 2)
|
|
||||||
{
|
|
||||||
$link_front = '<a href="'.$params->get("linkContributor".$nr).'" target="_blank">';
|
|
||||||
$link_back = '</a>';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$link_front = '';
|
|
||||||
$link_back = '';
|
|
||||||
}
|
|
||||||
$contributors[$nr]['title'] = self::htmlEscape($params->get("titleContributor".$nr));
|
|
||||||
$contributors[$nr]['name'] = $link_front.self::htmlEscape($params->get("nameContributor".$nr)).$link_back;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $contributors;
|
|
||||||
}###HELP###
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Configure the Linkbar.
|
|
||||||
*/
|
|
||||||
public static function addSubmenu($submenu)
|
|
||||||
{
|
|
||||||
// load user for access menus
|
|
||||||
$user = JFactory::getUser();
|
|
||||||
// load the submenus to sidebar
|
|
||||||
###SUBMENU###
|
|
||||||
}###HELPER_CREATEUSER######HELPER_UIKIT######HELPER_EXEL###
|
|
||||||
|
|
||||||
public static function isPublished($id,$type)
|
|
||||||
{
|
|
||||||
if ($type == 'raw')
|
|
||||||
{
|
|
||||||
$type = 'item';
|
|
||||||
}
|
|
||||||
$db = JFactory::getDbo();
|
|
||||||
$query = $db->getQuery(true);
|
|
||||||
$query->select(array('a.published'));
|
|
||||||
$query->from('#__###component###_'.$type.' AS a');
|
|
||||||
$query->where('a.id = '. (int) $id);
|
|
||||||
$query->where('a.published = 1');
|
|
||||||
$db->setQuery($query);
|
|
||||||
$db->execute();
|
|
||||||
$found = $db->getNumRows();
|
|
||||||
if($found)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getGroupName($id)
|
|
||||||
{
|
|
||||||
$db = JFactory::getDBO();
|
|
||||||
$query = $db->getQuery(true);
|
|
||||||
$query->select(array('a.title'));
|
|
||||||
$query->from('#__usergroups AS a');
|
|
||||||
$query->where('a.id = '. (int) $id);
|
|
||||||
$db->setQuery($query);
|
|
||||||
$db->execute();
|
|
||||||
$found = $db->getNumRows();
|
|
||||||
if($found)
|
|
||||||
{
|
|
||||||
return $db->loadResult();
|
|
||||||
}
|
|
||||||
return $id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the action permissions
|
|
||||||
*
|
|
||||||
* @param string $view The related view name
|
|
||||||
* @param int $record The item to act upon
|
|
||||||
* @param string $views The related list view name
|
|
||||||
* @param mixed $target Only get this permission (like edit, create, delete)
|
|
||||||
* @param string $component The target component
|
|
||||||
* @param object $user The user whose permissions we are loading
|
|
||||||
*
|
|
||||||
* @return object The JObject of permission/authorised actions
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getActions($view, &$record = null, $views = null, $target = null, $component = '###component###', $user = 'null')
|
|
||||||
{
|
|
||||||
// load the user if not given
|
|
||||||
if (!self::checkObject($user))
|
|
||||||
{
|
|
||||||
// get the user object
|
|
||||||
$user = JFactory::getUser();
|
|
||||||
}
|
|
||||||
// load the JObject
|
|
||||||
$result = new JObject;
|
|
||||||
// make view name safe (just incase)
|
|
||||||
$view = self::safeString($view);
|
|
||||||
if (self::checkString($views))
|
|
||||||
{
|
|
||||||
$views = self::safeString($views);
|
|
||||||
}
|
|
||||||
// get all actions from component
|
|
||||||
$actions = JAccess::getActionsFromFile(
|
|
||||||
JPATH_ADMINISTRATOR . '/components/com_' . $component . '/access.xml',
|
|
||||||
"/access/section[@name='component']/"
|
|
||||||
);
|
|
||||||
// if non found then return empty JObject
|
|
||||||
if (empty($actions))
|
|
||||||
{
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
// get created by if not found
|
|
||||||
if (self::checkObject($record) && !isset($record->created_by) && isset($record->id))
|
|
||||||
{
|
|
||||||
$record->created_by = self::getVar($view, $record->id, 'id', 'created_by', '=', $component);
|
|
||||||
}
|
|
||||||
// set actions only set in component settings
|
|
||||||
$componentActions = array('core.admin', 'core.manage', 'core.options', 'core.export');
|
|
||||||
// check if we have a target
|
|
||||||
$checkTarget = false;
|
|
||||||
if ($target)
|
|
||||||
{
|
|
||||||
// convert to an array
|
|
||||||
if (self::checkString($target))
|
|
||||||
{
|
|
||||||
$target = array($target);
|
|
||||||
}
|
|
||||||
// check if we are good to go
|
|
||||||
if (self::checkArray($target))
|
|
||||||
{
|
|
||||||
$checkTarget = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// loop the actions and set the permissions
|
|
||||||
foreach ($actions as $action)
|
|
||||||
{
|
|
||||||
// check target action filter
|
|
||||||
if ($checkTarget && self::filterActions($view, $action->name, $target))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// set to use component default
|
|
||||||
$fallback = true;
|
|
||||||
// reset permission per/action
|
|
||||||
$permission = false;
|
|
||||||
$catpermission = false;
|
|
||||||
// set area
|
|
||||||
$area = 'comp';
|
|
||||||
// check if the record has an ID and the action is item related (not a component action)
|
|
||||||
if (self::checkObject($record) && isset($record->id) && $record->id > 0 && !in_array($action->name, $componentActions) &&
|
|
||||||
(strpos($action->name, 'core.') !== false || strpos($action->name, $view . '.') !== false))
|
|
||||||
{
|
|
||||||
// we are in item
|
|
||||||
$area = 'item';
|
|
||||||
// The record has been set. Check the record permissions.
|
|
||||||
$permission = $user->authorise($action->name, 'com_' . $component . '.' . $view . '.' . (int) $record->id);
|
|
||||||
// if no permission found, check edit own
|
|
||||||
if (!$permission)
|
|
||||||
{
|
|
||||||
// With edit, if the created_by matches current user then dig deeper.
|
|
||||||
if (($action->name === 'core.edit' || $action->name === $view . '.edit') && $record->created_by > 0 && ($record->created_by == $user->id))
|
|
||||||
{
|
|
||||||
// the correct target
|
|
||||||
$coreCheck = (array) explode('.', $action->name);
|
|
||||||
// check that we have both local and global access
|
|
||||||
if ($user->authorise($coreCheck[0] . '.edit.own', 'com_' . $component . '.' . $view . '.' . (int) $record->id) &&
|
|
||||||
$user->authorise($coreCheck[0] . '.edit.own', 'com_' . $component))
|
|
||||||
{
|
|
||||||
// allow edit
|
|
||||||
$result->set($action->name, true);
|
|
||||||
// set not to use global default
|
|
||||||
// because we already validated it
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// do not allow edit
|
|
||||||
$result->set($action->name, false);
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif (self::checkString($views) && isset($record->catid) && $record->catid > 0)
|
|
||||||
{
|
|
||||||
// we are in item
|
|
||||||
$area = 'category';
|
|
||||||
// set the core check
|
|
||||||
$coreCheck = explode('.', $action->name);
|
|
||||||
$core = $coreCheck[0];
|
|
||||||
// make sure we use the core. action check for the categories
|
|
||||||
if (strpos($action->name, $view) !== false && strpos($action->name, 'core.') === false )
|
|
||||||
{
|
|
||||||
$coreCheck[0] = 'core';
|
|
||||||
$categoryCheck = implode('.', $coreCheck);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$categoryCheck = $action->name;
|
|
||||||
}
|
|
||||||
// The record has a category. Check the category permissions.
|
|
||||||
$catpermission = $user->authorise($categoryCheck, 'com_' . $component . '.' . $views . '.category.' . (int) $record->catid);
|
|
||||||
if (!$catpermission && !is_null($catpermission))
|
|
||||||
{
|
|
||||||
// With edit, if the created_by matches current user then dig deeper.
|
|
||||||
if (($action->name === 'core.edit' || $action->name === $view . '.edit') && $record->created_by > 0 && ($record->created_by == $user->id))
|
|
||||||
{
|
|
||||||
// check that we have both local and global access
|
|
||||||
if ($user->authorise('core.edit.own', 'com_' . $component . '.' . $views . '.category.' . (int) $record->catid) &&
|
|
||||||
$user->authorise($core . '.edit.own', 'com_' . $component))
|
|
||||||
{
|
|
||||||
// allow edit
|
|
||||||
$result->set($action->name, true);
|
|
||||||
// set not to use global default
|
|
||||||
// because we already validated it
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// do not allow edit
|
|
||||||
$result->set($action->name, false);
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// if allowed then fallback on component global settings
|
|
||||||
if ($fallback)
|
|
||||||
{
|
|
||||||
// if item/category blocks access then don't fall back on global
|
|
||||||
if ((($area === 'item') && !$permission) || (($area === 'category') && !$catpermission))
|
|
||||||
{
|
|
||||||
// do not allow
|
|
||||||
$result->set($action->name, false);
|
|
||||||
}
|
|
||||||
// Finally remember the global settings have the final say. (even if item allow)
|
|
||||||
// The local item permissions can block, but it can't open and override of global permissions.
|
|
||||||
// Since items are created by users and global permissions is set by system admin.
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$result->set($action->name, $user->authorise($action->name, 'com_' . $component));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the action permissions
|
|
||||||
*
|
|
||||||
* @param string $action The action to check
|
|
||||||
* @param array $targets The array of target actions
|
|
||||||
*
|
|
||||||
* @return boolean true if action should be filtered out
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
protected static function filterActions(&$view, &$action, &$targets)
|
|
||||||
{
|
|
||||||
foreach ($targets as $target)
|
|
||||||
{
|
|
||||||
if (strpos($action, $view . '.' . $target) !== false ||
|
|
||||||
strpos($action, 'core.' . $target) !== false)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get any component's model
|
|
||||||
*/
|
|
||||||
public static function getModel($name, $path = JPATH_COMPONENT_ADMINISTRATOR, $Component = '###Component###', $config = array())
|
|
||||||
{
|
|
||||||
// fix the name
|
|
||||||
$name = self::safeString($name);
|
|
||||||
// full path to models
|
|
||||||
$fullPathModels = $path . '/models';
|
|
||||||
// load the model file
|
|
||||||
JModelLegacy::addIncludePath($fullPathModels, $Component . 'Model');
|
|
||||||
// make sure the table path is loaded
|
|
||||||
if (!isset($config['table_path']) || !self::checkString($config['table_path']))
|
|
||||||
{
|
|
||||||
// This is the JCB default path to tables in Joomla 3.x
|
|
||||||
$config['table_path'] = JPATH_ADMINISTRATOR . '/components/com_' . strtolower($Component) . '/tables';
|
|
||||||
}
|
|
||||||
// get instance
|
|
||||||
$model = JModelLegacy::getInstance($name, $Component . 'Model', $config);
|
|
||||||
// if model not found (strange)
|
|
||||||
if ($model == false)
|
|
||||||
{
|
|
||||||
jimport('joomla.filesystem.file');
|
|
||||||
// get file path
|
|
||||||
$filePath = $path . '/' . $name . '.php';
|
|
||||||
$fullPathModel = $fullPathModels . '/' . $name . '.php';
|
|
||||||
// check if it exists
|
|
||||||
if (File::exists($filePath))
|
|
||||||
{
|
|
||||||
// get the file
|
|
||||||
require_once $filePath;
|
|
||||||
}
|
|
||||||
elseif (File::exists($fullPathModel))
|
|
||||||
{
|
|
||||||
// get the file
|
|
||||||
require_once $fullPathModel;
|
|
||||||
}
|
|
||||||
// build class names
|
|
||||||
$modelClass = $Component . 'Model' . $name;
|
|
||||||
if (class_exists($modelClass))
|
|
||||||
{
|
|
||||||
// initialize the model
|
|
||||||
return new $modelClass($config);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $model;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add to asset Table
|
|
||||||
*/
|
|
||||||
public static function setAsset($id, $table, $inherit = true)
|
|
||||||
{
|
|
||||||
$parent = JTable::getInstance('Asset');
|
|
||||||
$parent->loadByName('com_###component###');
|
|
||||||
|
|
||||||
$parentId = $parent->id;
|
|
||||||
$name = 'com_###component###.'.$table.'.'.$id;
|
|
||||||
$title = '';
|
|
||||||
|
|
||||||
$asset = JTable::getInstance('Asset');
|
|
||||||
$asset->loadByName($name);
|
|
||||||
|
|
||||||
// Check for an error.
|
|
||||||
$error = $asset->getError();
|
|
||||||
|
|
||||||
if ($error)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Specify how a new or moved node asset is inserted into the tree.
|
|
||||||
if ($asset->parent_id != $parentId)
|
|
||||||
{
|
|
||||||
$asset->setLocation($parentId, 'last-child');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prepare the asset to be stored.
|
|
||||||
$asset->parent_id = $parentId;
|
|
||||||
$asset->name = $name;
|
|
||||||
$asset->title = $title;
|
|
||||||
// get the default asset rules
|
|
||||||
$rules = self::getDefaultAssetRules('com_###component###', $table, $inherit);
|
|
||||||
if ($rules instanceof JAccessRules)
|
|
||||||
{
|
|
||||||
$asset->rules = (string) $rules;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$asset->check() || !$asset->store())
|
|
||||||
{
|
|
||||||
JFactory::getApplication()->enqueueMessage($asset->getError(), 'warning');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Create an asset_id or heal one that is corrupted.
|
|
||||||
$object = new stdClass();
|
|
||||||
|
|
||||||
// Must be a valid primary key value.
|
|
||||||
$object->id = $id;
|
|
||||||
$object->asset_id = (int) $asset->id;
|
|
||||||
|
|
||||||
// Update their asset_id to link to the asset table.
|
|
||||||
return JFactory::getDbo()->updateObject('#__###component###_'.$table, $object, 'id');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the default asset Rules for a component/view.
|
|
||||||
*/
|
|
||||||
protected static function getDefaultAssetRules($component, $view, $inherit = true)
|
|
||||||
{
|
|
||||||
// if new or inherited
|
|
||||||
$assetId = 0;
|
|
||||||
// Only get the actual item rules if not inheriting
|
|
||||||
if (!$inherit)
|
|
||||||
{
|
|
||||||
// Need to find the asset id by the name of the component.
|
|
||||||
$db = JFactory::getDbo();
|
|
||||||
$query = $db->getQuery(true)
|
|
||||||
->select($db->quoteName('id'))
|
|
||||||
->from($db->quoteName('#__assets'))
|
|
||||||
->where($db->quoteName('name') . ' = ' . $db->quote($component));
|
|
||||||
$db->setQuery($query);
|
|
||||||
$db->execute();
|
|
||||||
// check that there is a value
|
|
||||||
if ($db->getNumRows())
|
|
||||||
{
|
|
||||||
// asset already set so use saved rules
|
|
||||||
$assetId = (int) $db->loadResult();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// get asset rules
|
|
||||||
$result = JAccess::getAssetRules($assetId);
|
|
||||||
if ($result instanceof JAccessRules)
|
|
||||||
{
|
|
||||||
$_result = (string) $result;
|
|
||||||
$_result = json_decode($_result);
|
|
||||||
foreach ($_result as $name => &$rule)
|
|
||||||
{
|
|
||||||
$v = explode('.', $name);
|
|
||||||
if ($view !== $v[0])
|
|
||||||
{
|
|
||||||
// remove since it is not part of this view
|
|
||||||
unset($_result->$name);
|
|
||||||
}
|
|
||||||
elseif ($inherit)
|
|
||||||
{
|
|
||||||
// clear the value since we inherit
|
|
||||||
$rule = array();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// check if there are any view values remaining
|
|
||||||
if (count((array) $_result))
|
|
||||||
{
|
|
||||||
$_result = json_encode($_result);
|
|
||||||
$_result = array($_result);
|
|
||||||
// Instantiate and return the JAccessRules object for the asset rules.
|
|
||||||
$rules = new JAccessRules($_result);
|
|
||||||
// return filtered rules
|
|
||||||
return $rules;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlAppend
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param mixed $node A SimpleXMLElement node to append to the XML element reference, or a stdClass object containing a comment attribute to be injected before the XML node and a fieldXML attribute containing a SimpleXMLElement
|
|
||||||
*
|
|
||||||
* @return null
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlAppend(&$xml, $node)
|
|
||||||
{
|
|
||||||
if (!$node)
|
|
||||||
{
|
|
||||||
// element was not returned
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch (get_class($node))
|
|
||||||
{
|
|
||||||
case 'stdClass':
|
|
||||||
if (property_exists($node, 'comment'))
|
|
||||||
{
|
|
||||||
self::xmlComment($xml, $node->comment);
|
|
||||||
}
|
|
||||||
if (property_exists($node, 'fieldXML'))
|
|
||||||
{
|
|
||||||
self::xmlAppend($xml, $node->fieldXML);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'SimpleXMLElement':
|
|
||||||
$domXML = dom_import_simplexml($xml);
|
|
||||||
$domNode = dom_import_simplexml($node);
|
|
||||||
$domXML->appendChild($domXML->ownerDocument->importNode($domNode, true));
|
|
||||||
$xml = simplexml_import_dom($domXML);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlComment
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param string $comment The comment to inject
|
|
||||||
*
|
|
||||||
* @return null
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlComment(&$xml, $comment)
|
|
||||||
{
|
|
||||||
$domXML = dom_import_simplexml($xml);
|
|
||||||
$domComment = new DOMComment($comment);
|
|
||||||
$nodeTarget = $domXML->ownerDocument->importNode($domComment, true);
|
|
||||||
$domXML->appendChild($nodeTarget);
|
|
||||||
$xml = simplexml_import_dom($domXML);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlAddAttributes
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param array $attributes The attributes to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return null
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlAddAttributes(&$xml, $attributes = array())
|
|
||||||
{
|
|
||||||
foreach ($attributes as $key => $value)
|
|
||||||
{
|
|
||||||
$xml->addAttribute($key, $value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlAddOptions
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param array $options The options to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlAddOptions(&$xml, $options = array())
|
|
||||||
{
|
|
||||||
foreach ($options as $key => $value)
|
|
||||||
{
|
|
||||||
$addOption = $xml->addChild('option');
|
|
||||||
$addOption->addAttribute('value', $key);
|
|
||||||
$addOption[] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the field object
|
|
||||||
*
|
|
||||||
* @param array $attributes The array of attributes
|
|
||||||
* @param string $default The default of the field
|
|
||||||
* @param array $options The options to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return object
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getFieldObject(&$attributes, $default = '', $options = null)
|
|
||||||
{
|
|
||||||
// make sure we have attributes and a type value
|
|
||||||
if (self::checkArray($attributes) && isset($attributes['type']))
|
|
||||||
{
|
|
||||||
// make sure the form helper class is loaded
|
|
||||||
if (!method_exists('JFormHelper', 'loadFieldType'))
|
|
||||||
{
|
|
||||||
jimport('joomla.form.form');
|
|
||||||
}
|
|
||||||
// get field type
|
|
||||||
$field = JFormHelper::loadFieldType($attributes['type'], true);
|
|
||||||
// get field xml
|
|
||||||
$XML = self::getFieldXML($attributes, $options);
|
|
||||||
// setup the field
|
|
||||||
$field->setup($XML, $default);
|
|
||||||
// return the field object
|
|
||||||
return $field;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the field xml
|
|
||||||
*
|
|
||||||
* @param array $attributes The array of attributes
|
|
||||||
* @param array $options The options to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return object
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getFieldXML(&$attributes, $options = null)
|
|
||||||
{
|
|
||||||
// make sure we have attributes and a type value
|
|
||||||
if (self::checkArray($attributes))
|
|
||||||
{
|
|
||||||
// start field xml
|
|
||||||
$XML = new SimpleXMLElement('<field/>');
|
|
||||||
// load the attributes
|
|
||||||
self::xmlAddAttributes($XML, $attributes);
|
|
||||||
// check if we have options
|
|
||||||
if (self::checkArray($options))
|
|
||||||
{
|
|
||||||
// load the options
|
|
||||||
self::xmlAddOptions($XML, $options);
|
|
||||||
}
|
|
||||||
// return the field xml
|
|
||||||
return $XML;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render Bool Button
|
|
||||||
*
|
|
||||||
* @param array $args All the args for the button
|
|
||||||
* 0) name
|
|
||||||
* 1) additional (options class) // not used at this time
|
|
||||||
* 2) default
|
|
||||||
* 3) yes (name)
|
|
||||||
* 4) no (name)
|
|
||||||
*
|
|
||||||
* @return string The input html of the button
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function renderBoolButton()
|
|
||||||
{
|
|
||||||
$args = func_get_args();
|
|
||||||
// check if there is additional button class
|
|
||||||
$additional = isset($args[1]) ? (string) $args[1] : ''; // not used at this time
|
|
||||||
// button attributes
|
|
||||||
$buttonAttributes = array(
|
|
||||||
'type' => 'radio',
|
|
||||||
'name' => isset($args[0]) ? self::htmlEscape($args[0]) : 'bool_button',
|
|
||||||
'label' => isset($args[0]) ? self::safeString(self::htmlEscape($args[0]), 'Ww') : 'Bool Button', // not seen anyway
|
|
||||||
'class' => 'btn-group',
|
|
||||||
'filter' => 'INT',
|
|
||||||
'default' => isset($args[2]) ? (int) $args[2] : 0);
|
|
||||||
// set the button options
|
|
||||||
$buttonOptions = array(
|
|
||||||
'1' => isset($args[3]) ? self::htmlEscape($args[3]) : 'JYES',
|
|
||||||
'0' => isset($args[4]) ? self::htmlEscape($args[4]) : 'JNO');
|
|
||||||
// return the input
|
|
||||||
return self::getFieldObject($buttonAttributes, $buttonAttributes['default'], $buttonOptions)->input;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if we are connected
|
|
||||||
* Thanks https://stackoverflow.com/a/4860432/1429677
|
|
||||||
*
|
|
||||||
* @returns bool true on success
|
|
||||||
*/
|
|
||||||
public static function isConnected()
|
|
||||||
{
|
|
||||||
// If example.com is down, then probably the whole internet is down, since IANA maintains the domain. Right?
|
|
||||||
$connected = @fsockopen("www.example.com", 80);
|
|
||||||
// website, port (try 80 or 443)
|
|
||||||
if ($connected)
|
|
||||||
{
|
|
||||||
//action when connected
|
|
||||||
$is_conn = true;
|
|
||||||
fclose($connected);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//action in connection failure
|
|
||||||
$is_conn = false;
|
|
||||||
}
|
|
||||||
return $is_conn;
|
|
||||||
}
|
|
||||||
|
|
||||||
// typo sorry!
|
|
||||||
public static function sorten($string, $length = 40, $addTip = true)
|
|
||||||
{
|
|
||||||
return self::shorten($string, $length, $addTip);
|
|
||||||
}###HELPER_LICENSE_LOCK######GET_CRYPT_KEY###
|
|
||||||
}
|
|
@ -1,754 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* @package Joomla.Component.Builder
|
|
||||||
*
|
|
||||||
* @created 30th April, 2015
|
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
|
||||||
* @copyright Copyright (C) 2015 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('Restricted access');###SITE_POWER_HELPER###
|
|
||||||
|
|
||||||
###SITE_HELPER_CLASS_HEADER###
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ###Component### component helper
|
|
||||||
*/
|
|
||||||
abstract class ###Component###Helper
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Adding the utilities trait to this class
|
|
||||||
*
|
|
||||||
* @deprecated 4.0 - Check the trait methods for details, a legacy implementation
|
|
||||||
*/
|
|
||||||
use Utilities;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the Component Code Name
|
|
||||||
*/
|
|
||||||
public static $ComponentCodeName = '###component###';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Composer Switch
|
|
||||||
*
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
protected static $composer = array();###SITE_GLOBAL_EVENT_HELPER######SITE_CUSTOM_HELPER_SCRIPT######BOTH_CUSTOM_HELPER_SCRIPT###
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load the Composer Vendors
|
|
||||||
*/
|
|
||||||
public static function composerAutoload($target)
|
|
||||||
{
|
|
||||||
// insure we load the composer vendor only once
|
|
||||||
if (!isset(self::$composer[$target]))
|
|
||||||
{
|
|
||||||
// get the function name
|
|
||||||
$functionName = self::safeString('compose' . $target);
|
|
||||||
// check if method exist
|
|
||||||
if (method_exists(__CLASS__, $functionName))
|
|
||||||
{
|
|
||||||
return self::{$functionName}();
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return self::$composer[$target];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load the Component xml manifest.
|
|
||||||
*/
|
|
||||||
public static function manifest()
|
|
||||||
{
|
|
||||||
$manifestUrl = JPATH_ADMINISTRATOR."/components/com_###component###/###component###.xml";
|
|
||||||
return simplexml_load_file($manifestUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Joomla version object
|
|
||||||
*/
|
|
||||||
protected static $JVersion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* set/get Joomla version
|
|
||||||
*/
|
|
||||||
public static function jVersion()
|
|
||||||
{
|
|
||||||
// check if set
|
|
||||||
if (!self::checkObject(self::$JVersion))
|
|
||||||
{
|
|
||||||
self::$JVersion = new JVersion();
|
|
||||||
}
|
|
||||||
return self::$JVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load the Contributors details.
|
|
||||||
*/
|
|
||||||
public static function getContributors()
|
|
||||||
{
|
|
||||||
// get params
|
|
||||||
$params = JComponentHelper::getParams('com_###component###');
|
|
||||||
// start contributors array
|
|
||||||
$contributors = array();
|
|
||||||
// get all Contributors (max 20)
|
|
||||||
$searchArray = range('0','20');
|
|
||||||
foreach($searchArray as $nr)
|
|
||||||
{
|
|
||||||
if ((NULL !== $params->get("showContributor".$nr)) && ($params->get("showContributor".$nr) == 2 || $params->get("showContributor".$nr) == 3))
|
|
||||||
{
|
|
||||||
// set link based of selected option
|
|
||||||
if($params->get("useContributor".$nr) == 1)
|
|
||||||
{
|
|
||||||
$link_front = '<a href="mailto:'.$params->get("emailContributor".$nr).'" target="_blank">';
|
|
||||||
$link_back = '</a>';
|
|
||||||
}
|
|
||||||
elseif($params->get("useContributor".$nr) == 2)
|
|
||||||
{
|
|
||||||
$link_front = '<a href="'.$params->get("linkContributor".$nr).'" target="_blank">';
|
|
||||||
$link_back = '</a>';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$link_front = '';
|
|
||||||
$link_back = '';
|
|
||||||
}
|
|
||||||
$contributors[$nr]['title'] = self::htmlEscape($params->get("titleContributor".$nr));
|
|
||||||
$contributors[$nr]['name'] = $link_front.self::htmlEscape($params->get("nameContributor".$nr)).$link_back;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $contributors;
|
|
||||||
}###HELP_SITE###
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get any component's model
|
|
||||||
*/
|
|
||||||
public static function getModel($name, $path = JPATH_COMPONENT_SITE, $Component = '###Component###', $config = array())
|
|
||||||
{
|
|
||||||
// fix the name
|
|
||||||
$name = self::safeString($name);
|
|
||||||
// full path to models
|
|
||||||
$fullPathModels = $path . '/models';
|
|
||||||
// load the model file
|
|
||||||
JModelLegacy::addIncludePath($fullPathModels, $Component . 'Model');
|
|
||||||
// make sure the table path is loaded
|
|
||||||
if (!isset($config['table_path']) || !self::checkString($config['table_path']))
|
|
||||||
{
|
|
||||||
// This is the JCB default path to tables in Joomla 3.x
|
|
||||||
$config['table_path'] = JPATH_ADMINISTRATOR . '/components/com_' . strtolower($Component) . '/tables';
|
|
||||||
}
|
|
||||||
// get instance
|
|
||||||
$model = JModelLegacy::getInstance($name, $Component . 'Model', $config);
|
|
||||||
// if model not found (strange)
|
|
||||||
if ($model == false)
|
|
||||||
{
|
|
||||||
jimport('joomla.filesystem.file');
|
|
||||||
// get file path
|
|
||||||
$filePath = $path . '/' . $name . '.php';
|
|
||||||
$fullPathModel = $fullPathModels . '/' . $name . '.php';
|
|
||||||
// check if it exists
|
|
||||||
if (File::exists($filePath))
|
|
||||||
{
|
|
||||||
// get the file
|
|
||||||
require_once $filePath;
|
|
||||||
}
|
|
||||||
elseif (File::exists($fullPathModel))
|
|
||||||
{
|
|
||||||
// get the file
|
|
||||||
require_once $fullPathModel;
|
|
||||||
}
|
|
||||||
// build class names
|
|
||||||
$modelClass = $Component . 'Model' . $name;
|
|
||||||
if (class_exists($modelClass))
|
|
||||||
{
|
|
||||||
// initialize the model
|
|
||||||
return new $modelClass($config);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $model;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add to asset Table
|
|
||||||
*/
|
|
||||||
public static function setAsset($id, $table, $inherit = true)
|
|
||||||
{
|
|
||||||
$parent = JTable::getInstance('Asset');
|
|
||||||
$parent->loadByName('com_###component###');
|
|
||||||
|
|
||||||
$parentId = $parent->id;
|
|
||||||
$name = 'com_###component###.'.$table.'.'.$id;
|
|
||||||
$title = '';
|
|
||||||
|
|
||||||
$asset = JTable::getInstance('Asset');
|
|
||||||
$asset->loadByName($name);
|
|
||||||
|
|
||||||
// Check for an error.
|
|
||||||
$error = $asset->getError();
|
|
||||||
|
|
||||||
if ($error)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Specify how a new or moved node asset is inserted into the tree.
|
|
||||||
if ($asset->parent_id != $parentId)
|
|
||||||
{
|
|
||||||
$asset->setLocation($parentId, 'last-child');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prepare the asset to be stored.
|
|
||||||
$asset->parent_id = $parentId;
|
|
||||||
$asset->name = $name;
|
|
||||||
$asset->title = $title;
|
|
||||||
// get the default asset rules
|
|
||||||
$rules = self::getDefaultAssetRules('com_###component###', $table, $inherit);
|
|
||||||
if ($rules instanceof JAccessRules)
|
|
||||||
{
|
|
||||||
$asset->rules = (string) $rules;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$asset->check() || !$asset->store())
|
|
||||||
{
|
|
||||||
JFactory::getApplication()->enqueueMessage($asset->getError(), 'warning');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Create an asset_id or heal one that is corrupted.
|
|
||||||
$object = new stdClass();
|
|
||||||
|
|
||||||
// Must be a valid primary key value.
|
|
||||||
$object->id = $id;
|
|
||||||
$object->asset_id = (int) $asset->id;
|
|
||||||
|
|
||||||
// Update their asset_id to link to the asset table.
|
|
||||||
return JFactory::getDbo()->updateObject('#__###component###_'.$table, $object, 'id');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the default asset Rules for a component/view.
|
|
||||||
*/
|
|
||||||
protected static function getDefaultAssetRules($component, $view, $inherit = true)
|
|
||||||
{
|
|
||||||
// if new or inherited
|
|
||||||
$assetId = 0;
|
|
||||||
// Only get the actual item rules if not inheriting
|
|
||||||
if (!$inherit)
|
|
||||||
{
|
|
||||||
// Need to find the asset id by the name of the component.
|
|
||||||
$db = JFactory::getDbo();
|
|
||||||
$query = $db->getQuery(true)
|
|
||||||
->select($db->quoteName('id'))
|
|
||||||
->from($db->quoteName('#__assets'))
|
|
||||||
->where($db->quoteName('name') . ' = ' . $db->quote($component));
|
|
||||||
$db->setQuery($query);
|
|
||||||
$db->execute();
|
|
||||||
// check that there is a value
|
|
||||||
if ($db->getNumRows())
|
|
||||||
{
|
|
||||||
// asset already set so use saved rules
|
|
||||||
$assetId = (int) $db->loadResult();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// get asset rules
|
|
||||||
$result = JAccess::getAssetRules($assetId);
|
|
||||||
if ($result instanceof JAccessRules)
|
|
||||||
{
|
|
||||||
$_result = (string) $result;
|
|
||||||
$_result = json_decode($_result);
|
|
||||||
foreach ($_result as $name => &$rule)
|
|
||||||
{
|
|
||||||
$v = explode('.', $name);
|
|
||||||
if ($view !== $v[0])
|
|
||||||
{
|
|
||||||
// remove since it is not part of this view
|
|
||||||
unset($_result->$name);
|
|
||||||
}
|
|
||||||
elseif ($inherit)
|
|
||||||
{
|
|
||||||
// clear the value since we inherit
|
|
||||||
$rule = array();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// check if there are any view values remaining
|
|
||||||
if (count((array) $_result))
|
|
||||||
{
|
|
||||||
$_result = json_encode($_result);
|
|
||||||
$_result = array($_result);
|
|
||||||
// Instantiate and return the JAccessRules object for the asset rules.
|
|
||||||
$rules = new JAccessRules($_result);
|
|
||||||
// return filtered rules
|
|
||||||
return $rules;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlAppend
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param mixed $node A SimpleXMLElement node to append to the XML element reference, or a stdClass object containing a comment attribute to be injected before the XML node and a fieldXML attribute containing a SimpleXMLElement
|
|
||||||
*
|
|
||||||
* @return null
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlAppend(&$xml, $node)
|
|
||||||
{
|
|
||||||
if (!$node)
|
|
||||||
{
|
|
||||||
// element was not returned
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch (get_class($node))
|
|
||||||
{
|
|
||||||
case 'stdClass':
|
|
||||||
if (property_exists($node, 'comment'))
|
|
||||||
{
|
|
||||||
self::xmlComment($xml, $node->comment);
|
|
||||||
}
|
|
||||||
if (property_exists($node, 'fieldXML'))
|
|
||||||
{
|
|
||||||
self::xmlAppend($xml, $node->fieldXML);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'SimpleXMLElement':
|
|
||||||
$domXML = dom_import_simplexml($xml);
|
|
||||||
$domNode = dom_import_simplexml($node);
|
|
||||||
$domXML->appendChild($domXML->ownerDocument->importNode($domNode, true));
|
|
||||||
$xml = simplexml_import_dom($domXML);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlComment
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param string $comment The comment to inject
|
|
||||||
*
|
|
||||||
* @return null
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlComment(&$xml, $comment)
|
|
||||||
{
|
|
||||||
$domXML = dom_import_simplexml($xml);
|
|
||||||
$domComment = new DOMComment($comment);
|
|
||||||
$nodeTarget = $domXML->ownerDocument->importNode($domComment, true);
|
|
||||||
$domXML->appendChild($nodeTarget);
|
|
||||||
$xml = simplexml_import_dom($domXML);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlAddAttributes
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param array $attributes The attributes to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return null
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlAddAttributes(&$xml, $attributes = array())
|
|
||||||
{
|
|
||||||
foreach ($attributes as $key => $value)
|
|
||||||
{
|
|
||||||
$xml->addAttribute($key, $value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* xmlAddOptions
|
|
||||||
*
|
|
||||||
* @param SimpleXMLElement $xml The XML element reference in which to inject a comment
|
|
||||||
* @param array $options The options to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function xmlAddOptions(&$xml, $options = array())
|
|
||||||
{
|
|
||||||
foreach ($options as $key => $value)
|
|
||||||
{
|
|
||||||
$addOption = $xml->addChild('option');
|
|
||||||
$addOption->addAttribute('value', $key);
|
|
||||||
$addOption[] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the field object
|
|
||||||
*
|
|
||||||
* @param array $attributes The array of attributes
|
|
||||||
* @param string $default The default of the field
|
|
||||||
* @param array $options The options to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return object
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getFieldObject(&$attributes, $default = '', $options = null)
|
|
||||||
{
|
|
||||||
// make sure we have attributes and a type value
|
|
||||||
if (self::checkArray($attributes) && isset($attributes['type']))
|
|
||||||
{
|
|
||||||
// make sure the form helper class is loaded
|
|
||||||
if (!method_exists('JFormHelper', 'loadFieldType'))
|
|
||||||
{
|
|
||||||
jimport('joomla.form.form');
|
|
||||||
}
|
|
||||||
// get field type
|
|
||||||
$field = JFormHelper::loadFieldType($attributes['type'], true);
|
|
||||||
// get field xml
|
|
||||||
$XML = self::getFieldXML($attributes, $options);
|
|
||||||
// setup the field
|
|
||||||
$field->setup($XML, $default);
|
|
||||||
// return the field object
|
|
||||||
return $field;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the field xml
|
|
||||||
*
|
|
||||||
* @param array $attributes The array of attributes
|
|
||||||
* @param array $options The options to apply to the XML element
|
|
||||||
*
|
|
||||||
* @return object
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getFieldXML(&$attributes, $options = null)
|
|
||||||
{
|
|
||||||
// make sure we have attributes and a type value
|
|
||||||
if (self::checkArray($attributes))
|
|
||||||
{
|
|
||||||
// start field xml
|
|
||||||
$XML = new SimpleXMLElement('<field/>');
|
|
||||||
// load the attributes
|
|
||||||
self::xmlAddAttributes($XML, $attributes);
|
|
||||||
// check if we have options
|
|
||||||
if (self::checkArray($options))
|
|
||||||
{
|
|
||||||
// load the options
|
|
||||||
self::xmlAddOptions($XML, $options);
|
|
||||||
}
|
|
||||||
// return the field xml
|
|
||||||
return $XML;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render Bool Button
|
|
||||||
*
|
|
||||||
* @param array $args All the args for the button
|
|
||||||
* 0) name
|
|
||||||
* 1) additional (options class) // not used at this time
|
|
||||||
* 2) default
|
|
||||||
* 3) yes (name)
|
|
||||||
* 4) no (name)
|
|
||||||
*
|
|
||||||
* @return string The input html of the button
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function renderBoolButton()
|
|
||||||
{
|
|
||||||
$args = func_get_args();
|
|
||||||
// check if there is additional button class
|
|
||||||
$additional = isset($args[1]) ? (string) $args[1] : ''; // not used at this time
|
|
||||||
// button attributes
|
|
||||||
$buttonAttributes = array(
|
|
||||||
'type' => 'radio',
|
|
||||||
'name' => isset($args[0]) ? self::htmlEscape($args[0]) : 'bool_button',
|
|
||||||
'label' => isset($args[0]) ? self::safeString(self::htmlEscape($args[0]), 'Ww') : 'Bool Button', // not seen anyway
|
|
||||||
'class' => 'btn-group',
|
|
||||||
'filter' => 'INT',
|
|
||||||
'default' => isset($args[2]) ? (int) $args[2] : 0);
|
|
||||||
// set the button options
|
|
||||||
$buttonOptions = array(
|
|
||||||
'1' => isset($args[3]) ? self::htmlEscape($args[3]) : 'JYES',
|
|
||||||
'0' => isset($args[4]) ? self::htmlEscape($args[4]) : 'JNO');
|
|
||||||
// return the input
|
|
||||||
return self::getFieldObject($buttonAttributes, $buttonAttributes['default'], $buttonOptions)->input;
|
|
||||||
}###HELPER_UIKIT######HELPER_CREATEUSER###
|
|
||||||
|
|
||||||
public static function isPublished($id,$type)
|
|
||||||
{
|
|
||||||
if ($type == 'raw')
|
|
||||||
{
|
|
||||||
$type = 'item';
|
|
||||||
}
|
|
||||||
$db = JFactory::getDbo();
|
|
||||||
$query = $db->getQuery(true);
|
|
||||||
$query->select(array('a.published'));
|
|
||||||
$query->from('#__###component###_'.$type.' AS a');
|
|
||||||
$query->where('a.id = '. (int) $id);
|
|
||||||
$query->where('a.published = 1');
|
|
||||||
$db->setQuery($query);
|
|
||||||
$db->execute();
|
|
||||||
$found = $db->getNumRows();
|
|
||||||
if($found)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getGroupName($id)
|
|
||||||
{
|
|
||||||
$db = JFactory::getDBO();
|
|
||||||
$query = $db->getQuery(true);
|
|
||||||
$query->select(array('a.title'));
|
|
||||||
$query->from('#__usergroups AS a');
|
|
||||||
$query->where('a.id = '. (int) $id);
|
|
||||||
$db->setQuery($query);
|
|
||||||
$db->execute();
|
|
||||||
$found = $db->getNumRows();
|
|
||||||
if($found)
|
|
||||||
{
|
|
||||||
return $db->loadResult();
|
|
||||||
}
|
|
||||||
return $id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the action permissions
|
|
||||||
*
|
|
||||||
* @param string $view The related view name
|
|
||||||
* @param int $record The item to act upon
|
|
||||||
* @param string $views The related list view name
|
|
||||||
* @param mixed $target Only get this permission (like edit, create, delete)
|
|
||||||
* @param string $component The target component
|
|
||||||
* @param object $user The user whose permissions we are loading
|
|
||||||
*
|
|
||||||
* @return object The JObject of permission/authorised actions
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getActions($view, &$record = null, $views = null, $target = null, $component = '###component###', $user = 'null')
|
|
||||||
{
|
|
||||||
// load the user if not given
|
|
||||||
if (!self::checkObject($user))
|
|
||||||
{
|
|
||||||
// get the user object
|
|
||||||
$user = JFactory::getUser();
|
|
||||||
}
|
|
||||||
// load the JObject
|
|
||||||
$result = new JObject;
|
|
||||||
// make view name safe (just incase)
|
|
||||||
$view = self::safeString($view);
|
|
||||||
if (self::checkString($views))
|
|
||||||
{
|
|
||||||
$views = self::safeString($views);
|
|
||||||
}
|
|
||||||
// get all actions from component
|
|
||||||
$actions = JAccess::getActionsFromFile(
|
|
||||||
JPATH_ADMINISTRATOR . '/components/com_' . $component . '/access.xml',
|
|
||||||
"/access/section[@name='component']/"
|
|
||||||
);
|
|
||||||
// if non found then return empty JObject
|
|
||||||
if (empty($actions))
|
|
||||||
{
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
// get created by if not found
|
|
||||||
if (self::checkObject($record) && !isset($record->created_by) && isset($record->id))
|
|
||||||
{
|
|
||||||
$record->created_by = self::getVar($view, $record->id, 'id', 'created_by', '=', $component);
|
|
||||||
}
|
|
||||||
// set actions only set in component settings
|
|
||||||
$componentActions = array('core.admin', 'core.manage', 'core.options', 'core.export');
|
|
||||||
// check if we have a target
|
|
||||||
$checkTarget = false;
|
|
||||||
if ($target)
|
|
||||||
{
|
|
||||||
// convert to an array
|
|
||||||
if (self::checkString($target))
|
|
||||||
{
|
|
||||||
$target = array($target);
|
|
||||||
}
|
|
||||||
// check if we are good to go
|
|
||||||
if (self::checkArray($target))
|
|
||||||
{
|
|
||||||
$checkTarget = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// loop the actions and set the permissions
|
|
||||||
foreach ($actions as $action)
|
|
||||||
{
|
|
||||||
// check target action filter
|
|
||||||
if ($checkTarget && self::filterActions($view, $action->name, $target))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// set to use component default
|
|
||||||
$fallback = true;
|
|
||||||
// reset permission per/action
|
|
||||||
$permission = false;
|
|
||||||
$catpermission = false;
|
|
||||||
// set area
|
|
||||||
$area = 'comp';
|
|
||||||
// check if the record has an ID and the action is item related (not a component action)
|
|
||||||
if (self::checkObject($record) && isset($record->id) && $record->id > 0 && !in_array($action->name, $componentActions) &&
|
|
||||||
(strpos($action->name, 'core.') !== false || strpos($action->name, $view . '.') !== false))
|
|
||||||
{
|
|
||||||
// we are in item
|
|
||||||
$area = 'item';
|
|
||||||
// The record has been set. Check the record permissions.
|
|
||||||
$permission = $user->authorise($action->name, 'com_' . $component . '.' . $view . '.' . (int) $record->id);
|
|
||||||
// if no permission found, check edit own
|
|
||||||
if (!$permission)
|
|
||||||
{
|
|
||||||
// With edit, if the created_by matches current user then dig deeper.
|
|
||||||
if (($action->name === 'core.edit' || $action->name === $view . '.edit') && $record->created_by > 0 && ($record->created_by == $user->id))
|
|
||||||
{
|
|
||||||
// the correct target
|
|
||||||
$coreCheck = (array) explode('.', $action->name);
|
|
||||||
// check that we have both local and global access
|
|
||||||
if ($user->authorise($coreCheck[0] . '.edit.own', 'com_' . $component . '.' . $view . '.' . (int) $record->id) &&
|
|
||||||
$user->authorise($coreCheck[0] . '.edit.own', 'com_' . $component))
|
|
||||||
{
|
|
||||||
// allow edit
|
|
||||||
$result->set($action->name, true);
|
|
||||||
// set not to use global default
|
|
||||||
// because we already validated it
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// do not allow edit
|
|
||||||
$result->set($action->name, false);
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif (self::checkString($views) && isset($record->catid) && $record->catid > 0)
|
|
||||||
{
|
|
||||||
// we are in item
|
|
||||||
$area = 'category';
|
|
||||||
// set the core check
|
|
||||||
$coreCheck = explode('.', $action->name);
|
|
||||||
$core = $coreCheck[0];
|
|
||||||
// make sure we use the core. action check for the categories
|
|
||||||
if (strpos($action->name, $view) !== false && strpos($action->name, 'core.') === false )
|
|
||||||
{
|
|
||||||
$coreCheck[0] = 'core';
|
|
||||||
$categoryCheck = implode('.', $coreCheck);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$categoryCheck = $action->name;
|
|
||||||
}
|
|
||||||
// The record has a category. Check the category permissions.
|
|
||||||
$catpermission = $user->authorise($categoryCheck, 'com_' . $component . '.' . $views . '.category.' . (int) $record->catid);
|
|
||||||
if (!$catpermission && !is_null($catpermission))
|
|
||||||
{
|
|
||||||
// With edit, if the created_by matches current user then dig deeper.
|
|
||||||
if (($action->name === 'core.edit' || $action->name === $view . '.edit') && $record->created_by > 0 && ($record->created_by == $user->id))
|
|
||||||
{
|
|
||||||
// check that we have both local and global access
|
|
||||||
if ($user->authorise('core.edit.own', 'com_' . $component . '.' . $views . '.category.' . (int) $record->catid) &&
|
|
||||||
$user->authorise($core . '.edit.own', 'com_' . $component))
|
|
||||||
{
|
|
||||||
// allow edit
|
|
||||||
$result->set($action->name, true);
|
|
||||||
// set not to use global default
|
|
||||||
// because we already validated it
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// do not allow edit
|
|
||||||
$result->set($action->name, false);
|
|
||||||
$fallback = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// if allowed then fallback on component global settings
|
|
||||||
if ($fallback)
|
|
||||||
{
|
|
||||||
// if item/category blocks access then don't fall back on global
|
|
||||||
if ((($area === 'item') && !$permission) || (($area === 'category') && !$catpermission))
|
|
||||||
{
|
|
||||||
// do not allow
|
|
||||||
$result->set($action->name, false);
|
|
||||||
}
|
|
||||||
// Finally remember the global settings have the final say. (even if item allow)
|
|
||||||
// The local item permissions can block, but it can't open and override of global permissions.
|
|
||||||
// Since items are created by users and global permissions is set by system admin.
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$result->set($action->name, $user->authorise($action->name, 'com_' . $component));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the action permissions
|
|
||||||
*
|
|
||||||
* @param string $action The action to check
|
|
||||||
* @param array $targets The array of target actions
|
|
||||||
*
|
|
||||||
* @return boolean true if action should be filtered out
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
protected static function filterActions(&$view, &$action, &$targets)
|
|
||||||
{
|
|
||||||
foreach ($targets as $target)
|
|
||||||
{
|
|
||||||
if (strpos($action, $view . '.' . $target) !== false ||
|
|
||||||
strpos($action, 'core.' . $target) !== false)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if we are connected
|
|
||||||
* Thanks https://stackoverflow.com/a/4860432/1429677
|
|
||||||
*
|
|
||||||
* @returns bool true on success
|
|
||||||
*/
|
|
||||||
public static function isConnected()
|
|
||||||
{
|
|
||||||
// If example.com is down, then probably the whole internet is down, since IANA maintains the domain. Right?
|
|
||||||
$connected = @fsockopen("www.example.com", 80);
|
|
||||||
// website, port (try 80 or 443)
|
|
||||||
if ($connected)
|
|
||||||
{
|
|
||||||
//action when connected
|
|
||||||
$is_conn = true;
|
|
||||||
fclose($connected);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//action in connection failure
|
|
||||||
$is_conn = false;
|
|
||||||
}
|
|
||||||
return $is_conn;
|
|
||||||
}
|
|
||||||
|
|
||||||
// typo sorry!
|
|
||||||
public static function sorten($string, $length = 40, $addTip = true)
|
|
||||||
{
|
|
||||||
return self::shorten($string, $length, $addTip);
|
|
||||||
}###HELPER_SITE_LICENSE_LOCK######GET_CRYPT_KEY###
|
|
||||||
}
|
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
JFormHelper::loadFieldClass('checkboxes');
|
JFormHelper::loadFieldClass('checkboxes');
|
||||||
@ -36,7 +40,7 @@ class ###JPREFIX###FormField###Type### extends JFormFieldCheckboxes
|
|||||||
/**
|
/**
|
||||||
* Method to get a list of options for a list input.
|
* Method to get a list of options for a list input.
|
||||||
*
|
*
|
||||||
* @return array An array of JHtml options.
|
* @return array An array of Html options.
|
||||||
*/
|
*/
|
||||||
protected function getOptions()
|
protected function getOptions()
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
###JFORM_TYPE_HEADER###
|
###FORM_CUSTOM_FIELD_HEADER###
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Type### Form Field class for the ###Component### component
|
* ###Type### Form Field class for the ###Component### component
|
||||||
@ -29,5 +29,5 @@ class ###JPREFIX###FormField###Type### extends JFormField###JFORM_EXTENDS###
|
|||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $type = '###type###';###JFORM_TYPE_PHP###
|
public $type = '###type###';###FORM_CUSTOM_FIELD_PHP###
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
JFormHelper::loadFieldClass('list');
|
JFormHelper::loadFieldClass('list');
|
||||||
@ -36,7 +40,7 @@ class ###JPREFIX###FormField###Type### extends JFormFieldList
|
|||||||
/**
|
/**
|
||||||
* Method to get a list of options for a list input.
|
* Method to get a list of options for a list input.
|
||||||
*
|
*
|
||||||
* @return array An array of JHtml options.
|
* @return array An array of Html options.
|
||||||
*/
|
*/
|
||||||
protected function getOptions()
|
protected function getOptions()
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
JFormHelper::loadFieldClass('radio');
|
JFormHelper::loadFieldClass('radio');
|
||||||
@ -36,7 +40,7 @@ class ###JPREFIX###FormField###Type### extends JFormFieldRadio
|
|||||||
/**
|
/**
|
||||||
* Method to get a list of options for a list input.
|
* Method to get a list of options for a list input.
|
||||||
*
|
*
|
||||||
* @return array An array of JHtml options.
|
* @return array An array of Html options.
|
||||||
*/
|
*/
|
||||||
protected function getOptions()
|
protected function getOptions()
|
||||||
{
|
{
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
// import the list field type
|
// import the list field type
|
||||||
jimport('joomla.form.helper');
|
jimport('joomla.form.helper');
|
||||||
JFormHelper::loadFieldClass('user');
|
JFormHelper::loadFieldClass('user');
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,9 +17,12 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('JPATH_PLATFORM') or die;
|
defined('JPATH_PLATFORM') or die;
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\Form\Form;
|
use Joomla\CMS\Form\Form;
|
||||||
use Joomla\CMS\Form\FormRule;
|
use Joomla\CMS\Form\FormRule;
|
||||||
use Joomla\Registry\Registry;
|
use Joomla\Registry\Registry;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Form Rule (###Name###) class for the Joomla Platform.
|
* Form Rule (###Name###) class for the Joomla Platform.
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -24,7 +24,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
*/
|
*/
|
||||||
class ###Component###Model###Views### extends ListModel
|
class ###Component###Model###Views### extends ListModel
|
||||||
{
|
{
|
||||||
public function __construct($config = array())
|
public function __construct($config = [])
|
||||||
{
|
{
|
||||||
if (empty($config['filter_fields']))
|
if (empty($config['filter_fields']))
|
||||||
{
|
{
|
||||||
@ -49,7 +49,7 @@ class ###Component###Model###Views### extends ListModel
|
|||||||
*/
|
*/
|
||||||
protected function populateState($ordering = null, $direction = null)
|
protected function populateState($ordering = null, $direction = null)
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
|
|
||||||
// Adjust the context to support modal layouts.
|
// Adjust the context to support modal layouts.
|
||||||
if ($layout = $app->input->get('layout'))
|
if ($layout = $app->input->get('layout'))
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -30,7 +30,7 @@ class ###Component###ModelAjax extends ListModel
|
|||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
// get params
|
// get params
|
||||||
$this->app_params = JComponentHelper::getParams('com_###component###');
|
$this->app_params = ComponentHelper::getParams('com_###component###');
|
||||||
|
|
||||||
}###AJAX_MODEL_METHODS###
|
}###AJAX_MODEL_METHODS###
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -30,7 +30,7 @@ class ###Component###ModelAjax extends ListModel
|
|||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
// get params
|
// get params
|
||||||
$this->app_params = JComponentHelper::getParams('com_###component###');
|
$this->app_params = ComponentHelper::getParams('com_###component###');
|
||||||
|
|
||||||
}###AJAX_SITE_MODEL_METHODS###
|
}###AJAX_SITE_MODEL_METHODS###
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -27,9 +27,9 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
public function getIcons()
|
public function getIcons()
|
||||||
{
|
{
|
||||||
// load user for access menus
|
// load user for access menus
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
// reset icon array
|
// reset icon array
|
||||||
$icons = array();
|
$icons = [];
|
||||||
// view groups array
|
// view groups array
|
||||||
$viewGroups = array(
|
$viewGroups = array(
|
||||||
'main' => array(###DASHBOARDICONS###)
|
'main' => array(###DASHBOARDICONS###)
|
||||||
@ -38,7 +38,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
foreach($viewGroups as $group => $views)
|
foreach($viewGroups as $group => $views)
|
||||||
{
|
{
|
||||||
$i = 0;
|
$i = 0;
|
||||||
if (###Component###Helper::checkArray($views))
|
if (Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($views))
|
||||||
{
|
{
|
||||||
foreach($views as $view)
|
foreach($views as $view)
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$alt = $name;
|
$alt = $name;
|
||||||
$url = $url;
|
$url = $url;
|
||||||
$image = $name . '.' . $type;
|
$image = $name . '.' . $type;
|
||||||
$name = 'COM_###COMPONENT###_DASHBOARD_' . ###Component###Helper::safeString($name,'U');
|
$name = 'COM_###COMPONENT###_DASHBOARD_' . Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::safe($name,'U');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// internal views
|
// internal views
|
||||||
@ -79,7 +79,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$url = 'index.php?option=com_###component###&view=' . $name . '&layout=edit';
|
$url = 'index.php?option=com_###component###&view=' . $name . '&layout=edit';
|
||||||
$image = $name . '_' . $action. '.' . $type;
|
$image = $name . '_' . $action. '.' . $type;
|
||||||
$alt = $name . ' ' . $action;
|
$alt = $name . ' ' . $action;
|
||||||
$name = 'COM_###COMPONENT###_DASHBOARD_'.###Component###Helper::safeString($name,'U').'_ADD';
|
$name = 'COM_###COMPONENT###_DASHBOARD_'.Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::safe($name,'U').'_ADD';
|
||||||
$add = true;
|
$add = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -96,7 +96,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$url = 'index.php?option=com_categories&view=categories&extension=' . $extension;
|
$url = 'index.php?option=com_categories&view=categories&extension=' . $extension;
|
||||||
$image = $name . '_' . $action . '.' . $type;
|
$image = $name . '_' . $action . '.' . $type;
|
||||||
$alt = $viewName . ' ' . $action;
|
$alt = $viewName . ' ' . $action;
|
||||||
$name = 'COM_###COMPONENT###_DASHBOARD_' . ###Component###Helper::safeString($name,'U') . '_' . ###Component###Helper::safeString($action,'U');
|
$name = 'COM_###COMPONENT###_DASHBOARD_' . Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::safe($name,'U') . '_' . Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::safe($action,'U');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -106,7 +106,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$alt = $name;
|
$alt = $name;
|
||||||
$url = 'index.php?option=com_###component###&view=' . $name;
|
$url = 'index.php?option=com_###component###&view=' . $name;
|
||||||
$image = $name . '.' . $type;
|
$image = $name . '.' . $type;
|
||||||
$name = 'COM_###COMPONENT###_DASHBOARD_' . ###Component###Helper::safeString($name,'U');
|
$name = 'COM_###COMPONENT###_DASHBOARD_' . Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::safe($name,'U');
|
||||||
$hover = false;
|
$hover = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -120,7 +120,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$hover = false;
|
$hover = false;
|
||||||
}
|
}
|
||||||
// first make sure the view access is set
|
// first make sure the view access is set
|
||||||
if (###Component###Helper::checkArray($viewAccess))
|
if (Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($viewAccess))
|
||||||
{
|
{
|
||||||
// setup some defaults
|
// setup some defaults
|
||||||
$dashboard_add = false;
|
$dashboard_add = false;
|
||||||
@ -128,11 +128,11 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$accessTo = '';
|
$accessTo = '';
|
||||||
$accessAdd = '';
|
$accessAdd = '';
|
||||||
// access checking start
|
// access checking start
|
||||||
$accessCreate = (isset($viewAccess[$viewName.'.create'])) ? ###Component###Helper::checkString($viewAccess[$viewName.'.create']):false;
|
$accessCreate = (isset($viewAccess[$viewName.'.create'])) ? Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($viewAccess[$viewName.'.create']):false;
|
||||||
$accessAccess = (isset($viewAccess[$viewName.'.access'])) ? ###Component###Helper::checkString($viewAccess[$viewName.'.access']):false;
|
$accessAccess = (isset($viewAccess[$viewName.'.access'])) ? Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($viewAccess[$viewName.'.access']):false;
|
||||||
// set main controllers
|
// set main controllers
|
||||||
$accessDashboard_add = (isset($viewAccess[$viewName.'.dashboard_add'])) ? ###Component###Helper::checkString($viewAccess[$viewName.'.dashboard_add']):false;
|
$accessDashboard_add = (isset($viewAccess[$viewName.'.dashboard_add'])) ? Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($viewAccess[$viewName.'.dashboard_add']):false;
|
||||||
$accessDashboard_list = (isset($viewAccess[$viewName.'.dashboard_list'])) ? ###Component###Helper::checkString($viewAccess[$viewName.'.dashboard_list']):false;
|
$accessDashboard_list = (isset($viewAccess[$viewName.'.dashboard_list'])) ? Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($viewAccess[$viewName.'.dashboard_list']):false;
|
||||||
// check for adding access
|
// check for adding access
|
||||||
if ($add && $accessCreate)
|
if ($add && $accessCreate)
|
||||||
{
|
{
|
||||||
@ -156,7 +156,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
{
|
{
|
||||||
$dashboard_list = $user->authorise($viewAccess[$viewName.'.dashboard_list'], 'com_###component###');
|
$dashboard_list = $user->authorise($viewAccess[$viewName.'.dashboard_list'], 'com_###component###');
|
||||||
}
|
}
|
||||||
if (###Component###Helper::checkString($accessAdd) && ###Component###Helper::checkString($accessTo))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($accessAdd) && Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($accessTo))
|
||||||
{
|
{
|
||||||
// check access
|
// check access
|
||||||
if($user->authorise($accessAdd, 'com_###component###') && $user->authorise($accessTo, 'com_###component###') && $dashboard_add)
|
if($user->authorise($accessAdd, 'com_###component###') && $user->authorise($accessTo, 'com_###component###') && $dashboard_add)
|
||||||
@ -168,7 +168,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$icons[$group][$i]->alt = $alt;
|
$icons[$group][$i]->alt = $alt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif (###Component###Helper::checkString($accessTo))
|
elseif (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($accessTo))
|
||||||
{
|
{
|
||||||
// check access
|
// check access
|
||||||
if($user->authorise($accessTo, 'com_###component###') && $dashboard_list)
|
if($user->authorise($accessTo, 'com_###component###') && $dashboard_list)
|
||||||
@ -180,7 +180,7 @@ class ###Component###Model###Component### extends ListModel
|
|||||||
$icons[$group][$i]->alt = $alt;
|
$icons[$group][$i]->alt = $alt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif (###Component###Helper::checkString($accessAdd))
|
elseif (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($accessAdd))
|
||||||
{
|
{
|
||||||
// check access
|
// check access
|
||||||
if($user->authorise($accessAdd, 'com_###component###') && $dashboard_add)
|
if($user->authorise($accessAdd, 'com_###component###') && $dashboard_add)
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -46,13 +46,13 @@ class ###Component###Model###SViews### extends ListModel
|
|||||||
protected function getListQuery()
|
protected function getListQuery()
|
||||||
{
|
{
|
||||||
// Get the current user for authorisation checks
|
// Get the current user for authorisation checks
|
||||||
$this->user = JFactory::getUser();
|
$this->user = Factory::getUser();
|
||||||
$this->userId = $this->user->get('id');
|
$this->userId = $this->user->get('id');
|
||||||
$this->guest = $this->user->get('guest');
|
$this->guest = $this->user->get('guest');
|
||||||
$this->groups = $this->user->get('groups');
|
$this->groups = $this->user->get('groups');
|
||||||
$this->authorisedGroups = $this->user->getAuthorisedGroups();
|
$this->authorisedGroups = $this->user->getAuthorisedGroups();
|
||||||
$this->levels = $this->user->getAuthorisedViewLevels();
|
$this->levels = $this->user->getAuthorisedViewLevels();
|
||||||
$this->app = JFactory::getApplication();
|
$this->app = Factory::getApplication();
|
||||||
$this->input = $this->app->input;
|
$this->input = $this->app->input;
|
||||||
$this->initSet = true;###CUSTOM_ADMIN_GET_LIST_QUERY###
|
$this->initSet = true;###CUSTOM_ADMIN_GET_LIST_QUERY###
|
||||||
}
|
}
|
||||||
@ -64,12 +64,12 @@ class ###Component###Model###SViews### extends ListModel
|
|||||||
*/
|
*/
|
||||||
public function getItems()
|
public function getItems()
|
||||||
{
|
{
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
// check if this user has permission to access items
|
// check if this user has permission to access items
|
||||||
if (!$user->authorise('###sviews###.access', 'com_###component###'))
|
if (!$user->authorise('###sviews###.access', 'com_###component###'))
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = Factory::getApplication();
|
||||||
$app->enqueueMessage(JText::_('Not authorised!'), 'error');
|
$app->enqueueMessage(Text::_('Not authorised!'), 'error');
|
||||||
// redirect away if not a correct (TODO for now we go to default view)
|
// redirect away if not a correct (TODO for now we go to default view)
|
||||||
$app->redirect('index.php?option=com_###component###');
|
$app->redirect('index.php?option=com_###component###');
|
||||||
return false;
|
return false;
|
||||||
@ -78,7 +78,7 @@ class ###Component###Model###SViews### extends ListModel
|
|||||||
$items = parent::getItems();
|
$items = parent::getItems();
|
||||||
|
|
||||||
// Get the global params
|
// Get the global params
|
||||||
$globalParams = JComponentHelper::getParams('com_###component###', true);###CUSTOM_ADMIN_GET_ITEMS######CUSTOM_ADMIN_AFTER_GET_ITEMS###
|
$globalParams = ComponentHelper::getParams('com_###component###', true);###CUSTOM_ADMIN_GET_ITEMS######CUSTOM_ADMIN_AFTER_GET_ITEMS###
|
||||||
|
|
||||||
// return items
|
// return items
|
||||||
return $items;
|
return $items;
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -46,13 +46,13 @@ class ###Component###Model###SViews### extends ListModel
|
|||||||
protected function getListQuery()
|
protected function getListQuery()
|
||||||
{
|
{
|
||||||
// Get the current user for authorisation checks
|
// Get the current user for authorisation checks
|
||||||
$this->user = JFactory::getUser();
|
$this->user = Factory::getUser();
|
||||||
$this->userId = $this->user->get('id');
|
$this->userId = $this->user->get('id');
|
||||||
$this->guest = $this->user->get('guest');
|
$this->guest = $this->user->get('guest');
|
||||||
$this->groups = $this->user->get('groups');
|
$this->groups = $this->user->get('groups');
|
||||||
$this->authorisedGroups = $this->user->getAuthorisedGroups();
|
$this->authorisedGroups = $this->user->getAuthorisedGroups();
|
||||||
$this->levels = $this->user->getAuthorisedViewLevels();
|
$this->levels = $this->user->getAuthorisedViewLevels();
|
||||||
$this->app = JFactory::getApplication();
|
$this->app = Factory::getApplication();
|
||||||
$this->input = $this->app->input;
|
$this->input = $this->app->input;
|
||||||
$this->initSet = true; ###SITE_GET_LIST_QUERY###
|
$this->initSet = true; ###SITE_GET_LIST_QUERY###
|
||||||
}
|
}
|
||||||
@ -64,12 +64,12 @@ class ###Component###Model###SViews### extends ListModel
|
|||||||
*/
|
*/
|
||||||
public function getItems()
|
public function getItems()
|
||||||
{
|
{
|
||||||
$user = JFactory::getUser();###USER_PERMISSION_CHECK_ACCESS######LICENSE_LOCKED_CHECK######SITE_BEFORE_GET_ITEMS###
|
$user = Factory::getUser();###USER_PERMISSION_CHECK_ACCESS######LICENSE_LOCKED_CHECK######SITE_BEFORE_GET_ITEMS###
|
||||||
// load parent items
|
// load parent items
|
||||||
$items = parent::getItems();
|
$items = parent::getItems();
|
||||||
|
|
||||||
// Get the global params
|
// Get the global params
|
||||||
$globalParams = JComponentHelper::getParams('com_###component###', true);###SITE_GET_ITEMS######SITE_AFTER_GET_ITEMS###
|
$globalParams = ComponentHelper::getParams('com_###component###', true);###SITE_GET_ITEMS######SITE_AFTER_GET_ITEMS###
|
||||||
|
|
||||||
// return items
|
// return items
|
||||||
return $items;
|
return $items;
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,10 +17,17 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\Table\Table;
|
use Joomla\CMS\Table\Table;
|
||||||
|
use Joomla\CMS\Access\Access as AccessRules;
|
||||||
|
use Joomla\CMS\Access\Rules;
|
||||||
use Joomla\Registry\Registry;
|
use Joomla\Registry\Registry;
|
||||||
use Joomla\String\StringHelper;
|
use Joomla\String\StringHelper;
|
||||||
use Joomla\Utilities\ArrayHelper;
|
use Joomla\Utilities\ArrayHelper;
|
||||||
|
use Joomla\CMS\String\PunycodeHelper;
|
||||||
|
use Joomla\CMS\Table\Observer\Tags as TableObserverTags;
|
||||||
|
use Joomla\CMS\Table\Observer\ContentHistory as TableObserverContenthistory;
|
||||||
|
use Joomla\CMS\Application\ApplicationHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Views### Table class
|
* ###Views### Table class
|
||||||
@ -50,14 +57,14 @@ class ###Component###Table###View### extends Table
|
|||||||
|
|
||||||
if (isset($array['params']) && is_array($array['params']))
|
if (isset($array['params']) && is_array($array['params']))
|
||||||
{
|
{
|
||||||
$registry = new JRegistry;
|
$registry = new Registry;
|
||||||
$registry->loadArray($array['params']);
|
$registry->loadArray($array['params']);
|
||||||
$array['params'] = (string) $registry;
|
$array['params'] = (string) $registry;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($array['metadata']) && is_array($array['metadata']))
|
if (isset($array['metadata']) && is_array($array['metadata']))
|
||||||
{
|
{
|
||||||
$registry = new JRegistry;
|
$registry = new Registry;
|
||||||
$registry->loadArray($array['metadata']);
|
$registry->loadArray($array['metadata']);
|
||||||
$array['metadata'] = (string) $registry;
|
$array['metadata'] = (string) $registry;
|
||||||
}
|
}
|
||||||
@ -65,7 +72,7 @@ class ###Component###Table###View### extends Table
|
|||||||
// Bind the rules.
|
// Bind the rules.
|
||||||
if (isset($array['rules']) && is_array($array['rules']))
|
if (isset($array['rules']) && is_array($array['rules']))
|
||||||
{
|
{
|
||||||
$rules = new JAccessRules($array['rules']);
|
$rules = new AccessRules($array['rules']);
|
||||||
$this->setRules($rules);
|
$this->setRules($rules);
|
||||||
}
|
}
|
||||||
return parent::bind($array, $ignore);
|
return parent::bind($array, $ignore);
|
||||||
@ -80,8 +87,8 @@ class ###Component###Table###View### extends Table
|
|||||||
*/
|
*/
|
||||||
public function store($updateNulls = false)
|
public function store($updateNulls = false)
|
||||||
{
|
{
|
||||||
$date = JFactory::getDate();
|
$date = Factory::getDate();
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
|
|
||||||
if ($this->id)
|
if ($this->id)
|
||||||
{
|
{
|
||||||
@ -106,11 +113,16 @@ class ###Component###Table###View### extends Table
|
|||||||
if (isset($this->alias))
|
if (isset($this->alias))
|
||||||
{
|
{
|
||||||
// Verify that the alias is unique
|
// Verify that the alias is unique
|
||||||
$table = JTable::getInstance('###view###', '###Component###Table');
|
$table = Table::getInstance('###view###', '###Component###Table');
|
||||||
|
|
||||||
if ($table->load(array('alias' => $this->alias###JTABLEALIASCATEGORY###)) && ($table->id != $this->id || $this->id == 0))
|
if ($table->load(array('alias' => $this->alias###JTABLEALIASCATEGORY###)) && ($table->id != $this->id || $this->id == 0))
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('COM_###COMPONENT###_###VIEW###_ERROR_UNIQUE_ALIAS'));
|
$this->setError(Text::_('COM_###COMPONENT###_###VIEW###_ERROR_UNIQUE_ALIAS'));
|
||||||
|
|
||||||
|
if ($table->published === -2)
|
||||||
|
{
|
||||||
|
$this->setError(Text::_('COM_###COMPONENT###_###VIEW###_ERROR_UNIQUE_ALIAS_TRASHED'));
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -118,12 +130,12 @@ class ###Component###Table###View### extends Table
|
|||||||
if (isset($this->url))
|
if (isset($this->url))
|
||||||
{
|
{
|
||||||
// Convert IDN urls to punycode
|
// Convert IDN urls to punycode
|
||||||
$this->url = JStringPunycode::urlToPunycode($this->url);
|
$this->url = PunycodeHelper::urlToPunycode($this->url);
|
||||||
}
|
}
|
||||||
if (isset($this->website))
|
if (isset($this->website))
|
||||||
{
|
{
|
||||||
// Convert IDN urls to punycode
|
// Convert IDN urls to punycode
|
||||||
$this->website = JStringPunycode::urlToPunycode($this->website);
|
$this->website = PunycodeHelper::urlToPunycode($this->website);
|
||||||
}
|
}
|
||||||
|
|
||||||
return parent::store($updateNulls);
|
return parent::store($updateNulls);
|
||||||
@ -141,7 +153,7 @@ class ###Component###Table###View### extends Table
|
|||||||
// Generate a valid alias
|
// Generate a valid alias
|
||||||
$this->generateAlias();
|
$this->generateAlias();
|
||||||
|
|
||||||
$table = JTable::getInstance('###view###', '###component###Table');
|
$table = Table::getInstance('###view###', '###component###Table');
|
||||||
|
|
||||||
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
|
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
|
||||||
{
|
{
|
||||||
@ -164,7 +176,7 @@ class ###Component###Table###View### extends Table
|
|||||||
|
|
||||||
// Create array using commas as delimiter.
|
// Create array using commas as delimiter.
|
||||||
$keys = explode(',', $after_clean);
|
$keys = explode(',', $after_clean);
|
||||||
$clean_keys = array();
|
$clean_keys = [];
|
||||||
|
|
||||||
foreach ($keys as $key)
|
foreach ($keys as $key)
|
||||||
{
|
{
|
||||||
@ -187,7 +199,7 @@ class ###Component###Table###View### extends Table
|
|||||||
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
|
$this->metadesc = StringHelper::str_ireplace($bad_characters, "", $this->metadesc);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we don't have any access rules set at this point just use an empty JAccessRules class
|
// If we don't have any access rules set at this point just use an empty AccessRules class
|
||||||
if (!$this->getRules())
|
if (!$this->getRules())
|
||||||
{
|
{
|
||||||
$rules = $this->getDefaultAssetValues('com_###component###.###view###.'.$this->id);
|
$rules = $this->getDefaultAssetValues('com_###component###.###view###.'.$this->id);
|
||||||
@ -209,12 +221,12 @@ class ###Component###Table###View### extends Table
|
|||||||
*
|
*
|
||||||
* @param $string $component The component asset name to search for
|
* @param $string $component The component asset name to search for
|
||||||
*
|
*
|
||||||
* @return JAccessRules The JAccessRules object for the asset
|
* @return AccessRules The AccessRules object for the asset
|
||||||
*/
|
*/
|
||||||
protected function getDefaultAssetValues($component, $try = true)
|
protected function getDefaultAssetValues($component, $try = true)
|
||||||
{
|
{
|
||||||
// Need to find the asset id by the name of the component.
|
// Need to find the asset id by the name of the component.
|
||||||
$db = JFactory::getDbo();
|
$db = Factory::getDbo();
|
||||||
$query = $db->getQuery(true)
|
$query = $db->getQuery(true)
|
||||||
->select($db->quoteName('id'))
|
->select($db->quoteName('id'))
|
||||||
->from($db->quoteName('#__assets'))
|
->from($db->quoteName('#__assets'))
|
||||||
@ -225,14 +237,14 @@ class ###Component###Table###View### extends Table
|
|||||||
{
|
{
|
||||||
// asset already set so use saved rules
|
// asset already set so use saved rules
|
||||||
$assetId = (int) $db->loadResult();
|
$assetId = (int) $db->loadResult();
|
||||||
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
|
return AccessRules::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
|
||||||
}
|
}
|
||||||
// try again
|
// try again
|
||||||
elseif ($try)
|
elseif ($try)
|
||||||
{
|
{
|
||||||
$try = explode('.',$component);
|
$try = explode('.',$component);
|
||||||
$result = $this->getDefaultAssetValues($try[0], false);
|
$result = $this->getDefaultAssetValues($try[0], false);
|
||||||
if ($result instanceof JAccessRules)
|
if ($result instanceof AccessRules)
|
||||||
{
|
{
|
||||||
if (isset($try[1]))
|
if (isset($try[1]))
|
||||||
{
|
{
|
||||||
@ -249,7 +261,7 @@ class ###Component###Table###View### extends Table
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// clear the value since we inherit
|
// clear the value since we inherit
|
||||||
$rule = array();
|
$rule = [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check if there are any view values remaining
|
// check if there are any view values remaining
|
||||||
@ -257,8 +269,8 @@ class ###Component###Table###View### extends Table
|
|||||||
{
|
{
|
||||||
$_result = json_encode($_result);
|
$_result = json_encode($_result);
|
||||||
$_result = array($_result);
|
$_result = array($_result);
|
||||||
// Instantiate and return the JAccessRules object for the asset rules.
|
// Instantiate and return the AccessRules object for the asset rules.
|
||||||
$rules = new JAccessRules;
|
$rules = new AccessRules;
|
||||||
$rules->mergeCollection($_result);
|
$rules->mergeCollection($_result);
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
@ -267,7 +279,7 @@ class ###Component###Table###View### extends Table
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return JAccess::getAssetRules(0);
|
return AccessRules::getAssetRules(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -305,9 +317,9 @@ class ###Component###Table###View### extends Table
|
|||||||
* @return int
|
* @return int
|
||||||
* @since 2.5
|
* @since 2.5
|
||||||
*/
|
*/
|
||||||
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
|
protected function _getAssetParentId(?Table $table = null, $id = null)
|
||||||
{
|
{
|
||||||
$asset = JTable::getInstance('Asset');
|
$asset = Table::getInstance('Asset');
|
||||||
$asset->loadByName('com_###component###');
|
$asset->loadByName('com_###component###');
|
||||||
|
|
||||||
return $asset->id;
|
return $asset->id;
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,9 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Session\Session;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Ajax Controller
|
* ###Component### Ajax Controller
|
||||||
*/
|
*/
|
||||||
@ -26,19 +29,19 @@ class ###Component###ControllerAjax extends JControllerLegacy
|
|||||||
{
|
{
|
||||||
parent::__construct($config);
|
parent::__construct($config);
|
||||||
// make sure all json stuff are set
|
// make sure all json stuff are set
|
||||||
JFactory::getDocument()->setMimeEncoding( 'application/json' );
|
Factory::getDocument()->setMimeEncoding( 'application/json' );
|
||||||
JFactory::getApplication()->setHeader('Content-Disposition','attachment;filename="getajax.json"');
|
Factory::getApplication()->setHeader('Content-Disposition','attachment;filename="getajax.json"');
|
||||||
JFactory::getApplication()->setHeader("Access-Control-Allow-Origin", "*");
|
Factory::getApplication()->setHeader("Access-Control-Allow-Origin", "*");
|
||||||
// load the tasks
|
// load the tasks
|
||||||
$this->registerTask('fieldRequired', 'ajax');
|
$this->registerTask('fieldRequired', 'ajax');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ajax()
|
public function ajax()
|
||||||
{
|
{
|
||||||
$user = JFactory::getUser();
|
$user = Factory::getUser();
|
||||||
$jinput = JFactory::getApplication()->input;
|
$jinput = Factory::getApplication()->input;
|
||||||
// Check Token!
|
// Check Token!
|
||||||
$token = JSession::getFormToken();
|
$token = Session::getFormToken();
|
||||||
$call_token = $jinput->get('token', 0, 'ALNUM');
|
$call_token = $jinput->get('token', 0, 'ALNUM');
|
||||||
if($user->id != 0 && $token == $call_token)
|
if($user->id != 0 && $token == $call_token)
|
||||||
{
|
{
|
||||||
@ -51,7 +54,7 @@ class ###Component###ControllerAjax extends JControllerLegacy
|
|||||||
$form = $jinput->get('form', NULL, 'WORD');
|
$form = $jinput->get('form', NULL, 'WORD');
|
||||||
$status = $jinput->get('status', NULL, 'INT');
|
$status = $jinput->get('status', NULL, 'INT');
|
||||||
|
|
||||||
if (###Component###Helper::checkString($name) && ###Component###Helper::checkString($form))
|
if (Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($name) && Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power::check($form))
|
||||||
{
|
{
|
||||||
$result = $this->getModel('ajax')->setFieldRequired($name,$form,$status);
|
$result = $this->getModel('ajax')->setFieldRequired($name,$form,$status);
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,10 +17,15 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\MVC\Model\ListModel;
|
||||||
|
use Joomla\CMS\Component\ComponentHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ###Component### Ajax Model
|
* ###Component### Ajax Model
|
||||||
*/
|
*/
|
||||||
class ###Component###ModelAjax extends JModelList
|
class ###Component###ModelAjax extends ListModel
|
||||||
{
|
{
|
||||||
protected $app_params;
|
protected $app_params;
|
||||||
|
|
||||||
@ -28,16 +33,16 @@ class ###Component###ModelAjax extends JModelList
|
|||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
// get params
|
// get params
|
||||||
$this->app_params = JComponentHelper::getParams('com_###component###');
|
$this->app_params = ComponentHelper::getParams('com_###component###');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setFieldRequired($name,$form,$status)
|
public function setFieldRequired($name,$form,$status)
|
||||||
{
|
{
|
||||||
// get the session
|
// get the session
|
||||||
$session = JFactory::getSession();
|
$session = Factory::getSession();
|
||||||
// get this forms set fields
|
// get this forms set fields
|
||||||
$fields = $session->get($form.'_requiredFieldFix');
|
$fields = $session->get($form.'_requiredFieldFix');
|
||||||
if(###Component###Helper::checkArray($fields))
|
if(Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($fields))
|
||||||
{
|
{
|
||||||
if ($status == 1)
|
if ($status == 1)
|
||||||
{
|
{
|
||||||
@ -61,7 +66,7 @@ class ###Component###ModelAjax extends JModelList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// load the remaining values to session
|
// load the remaining values to session
|
||||||
if(###Component###Helper::checkArray($fields))
|
if(Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($fields))
|
||||||
{
|
{
|
||||||
$session->set($form.'_requiredFieldFix', $fields);
|
$session->set($form.'_requiredFieldFix', $fields);
|
||||||
}
|
}
|
||||||
|
18
admin/compiler/joomla_3/autoloader.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;###ADMIN_POWER_HELPER###
|
18
admin/compiler/joomla_3/autoloader_site.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;###SITE_POWER_HELPER###
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -30,7 +30,7 @@ abstract class JHtmlBatch_
|
|||||||
* @var array
|
* @var array
|
||||||
* @since 3.0
|
* @since 3.0
|
||||||
*/
|
*/
|
||||||
protected static $ListSelection = array();
|
protected static $ListSelection = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render the batch selection options.
|
* Render the batch selection options.
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,7 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('JPATH_BASE') or die;
|
defined('JPATH_BASE') or die;
|
||||||
|
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
JHtmlBehavior::core();
|
JHtmlBehavior::core();
|
||||||
$divWrapper = range(1,120,2);
|
$divWrapper = range(1,120,2);
|
||||||
$counter = 0;
|
$counter = 0;
|
||||||
@ -45,9 +46,9 @@ $counter = 0;
|
|||||||
<div class="control-group radio" id="batch-move-copy">
|
<div class="control-group radio" id="batch-move-copy">
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<label class="radio" id="batch[move_copy]c-lbl" for="batch[move_copy]c">
|
<label class="radio" id="batch[move_copy]c-lbl" for="batch[move_copy]c">
|
||||||
<input type="radio" value="c" id="batch[move_copy]c" name="batch[move_copy]"><?php echo JText::_('Copy'); ?></label>
|
<input type="radio" value="c" id="batch[move_copy]c" name="batch[move_copy]"><?php echo Text::_('Copy'); ?></label>
|
||||||
<label class="radio" id="batch[move_copy]m-lbl" for="batch[move_copy]m">
|
<label class="radio" id="batch[move_copy]m-lbl" for="batch[move_copy]m">
|
||||||
<input type="radio" checked="checked" value="m" id="batch[move_copy]m" name="batch[move_copy]"><?php echo JText::_('Update'); ?></label>
|
<input type="radio" checked="checked" value="m" id="batch[move_copy]m" name="batch[move_copy]"><?php echo Text::_('Update'); ?></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,28 +17,29 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
###POWER_AUTOLOADER###
|
||||||
|
|
||||||
###ADMIN_COMPONENT_HEADER###
|
###ADMIN_COMPONENT_HEADER###
|
||||||
|
|
||||||
// Access check.
|
// Access check.
|
||||||
if (!JFactory::getUser()->authorise('core.manage', 'com_###component###'))
|
if (!Factory::getUser()->authorise('core.manage', 'com_###component###'))
|
||||||
{
|
{
|
||||||
throw new JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'), 403);
|
throw new NotAllowed(Text::_('JERROR_ALERTNOAUTHOR'), 403);
|
||||||
};
|
}
|
||||||
|
|
||||||
// Add CSS file for all pages
|
// Add CSS file for all pages
|
||||||
$document = JFactory::getDocument();
|
Html::_('stylesheet', 'components/com_###component###/assets/css/admin.css', ['version' => 'auto']);
|
||||||
$document->addStyleSheet('components/com_###component###/assets/css/admin.css');
|
Html::_('script', 'components/com_###component###/assets/js/admin.js', ['version' => 'auto']);
|
||||||
$document->addScript('components/com_###component###/assets/js/admin.js');
|
|
||||||
|
|
||||||
// require helper files
|
// require helper files
|
||||||
JLoader::register('###Component###Helper', __DIR__ . '/helpers/###component###.php');###HELPER_EMAIL###
|
JLoader::register('###Component###Helper', __DIR__ . '/helpers/###component###.php');###HELPER_EMAIL###
|
||||||
JLoader::register('JHtmlBatch_', __DIR__ . '/helpers/html/batch_.php');###LICENSE_LOCKED_INT######ADMIN_GLOBAL_EVENT###
|
JLoader::register('JHtmlBatch_', __DIR__ . '/helpers/html/batch_.php');###LICENSE_LOCKED_INT######ADMIN_GLOBAL_EVENT###
|
||||||
|
|
||||||
// Get an instance of the controller prefixed by ###Component###
|
// Get an instance of the controller prefixed by ###Component###
|
||||||
$controller = JControllerLegacy::getInstance('###Component###');
|
$controller = BaseController::getInstance('###Component###');
|
||||||
|
|
||||||
// Perform the Request task
|
// Perform the Request task
|
||||||
$controller->execute(JFactory::getApplication()->input->get('task'));
|
$controller->execute(Factory::getApplication()->input->get('task'));
|
||||||
|
|
||||||
// Redirect if set by the controller
|
// Redirect if set by the controller
|
||||||
$controller->redirect();
|
$controller->redirect();
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,22 +17,23 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
###SITE_POWER_AUTOLOADER###
|
||||||
|
|
||||||
###SITE_COMPONENT_HEADER###
|
###SITE_COMPONENT_HEADER###
|
||||||
|
|
||||||
// Set the component css/js
|
// Set the component css/js
|
||||||
$document = JFactory::getDocument();
|
Html::_('stylesheet', 'components/com_###component###/assets/css/site.css', ['version' => 'auto']);
|
||||||
$document->addStyleSheet('components/com_###component###/assets/css/site.css');
|
Html::_('script', 'components/com_###component###/assets/js/site.js', ['version' => 'auto']);
|
||||||
$document->addScript('components/com_###component###/assets/js/site.js');
|
|
||||||
|
|
||||||
// Require helper files
|
// Require helper files
|
||||||
JLoader::register('###Component###Helper', __DIR__ . '/helpers/###component###.php');###HELPER_EMAIL###
|
JLoader::register('###Component###Helper', __DIR__ . '/helpers/###component###.php');###HELPER_EMAIL###
|
||||||
JLoader::register('###Component###HelperRoute', __DIR__ . '/helpers/route.php');###LICENSE_LOCKED_INT######SITE_GLOBAL_EVENT###
|
JLoader::register('###Component###HelperRoute', __DIR__ . '/helpers/route.php');###LICENSE_LOCKED_INT######SITE_GLOBAL_EVENT###
|
||||||
|
|
||||||
// Get an instance of the controller prefixed by ###Component###
|
// Get an instance of the controller prefixed by ###Component###
|
||||||
$controller = JControllerLegacy::getInstance('###Component###');
|
$controller = BaseController::getInstance('###Component###');
|
||||||
|
|
||||||
// Perform the request task
|
// Perform the request task
|
||||||
$controller->execute(JFactory::getApplication()->input->get('task'));
|
$controller->execute(Factory::getApplication()->input->get('task'));
|
||||||
|
|
||||||
// Redirect if set by the controller
|
// Redirect if set by the controller
|
||||||
$controller->redirect();
|
$controller->redirect();
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -18,10 +18,11 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
###ADMIN_VIEWS_HEADER###
|
###ADMIN_VIEWS_HEADER###
|
||||||
|
|
||||||
if ($this->saveOrder)
|
if ($this->saveOrder)
|
||||||
{
|
{
|
||||||
$saveOrderingUrl = 'index.php?option=com_###component###&task=###views###.saveOrderAjax&tmpl=component';
|
$saveOrderingUrl = 'index.php?option=com_###component###&task=###views###.saveOrderAjax&tmpl=component';
|
||||||
JHtml::_('sortablelist.sortable', '###view###List', 'adminForm', strtolower($this->listDirn), $saveOrderingUrl);
|
Html::_('sortablelist.sortable', '###view###List', 'adminForm', strtolower($this->listDirn), $saveOrderingUrl);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
###VIEWS_DEFAULT_BODY######VIEWS_FOOTER_SCRIPT###
|
###VIEWS_DEFAULT_BODY######VIEWS_FOOTER_SCRIPT###
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,7 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<p><?php echo JText::_('COM_###COMPONENT###_###VIEWS###_BATCH_TIP'); ?></p>
|
<p><?php echo Text::_('COM_###COMPONENT###_###VIEWS###_BATCH_TIP'); ?></p>
|
||||||
<?php echo $this->batchDisplay; ?>
|
<?php echo $this->batchDisplay; ?>
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,12 +17,14 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!-- clear the batch values if cancel -->
|
<!-- clear the batch values if cancel -->
|
||||||
<button class="btn" type="button" onclick="###BATCH_ONCLICK_CANCEL_SCRIPT###" data-dismiss="modal">
|
<button class="btn" type="button" onclick="###BATCH_ONCLICK_CANCEL_SCRIPT###" data-dismiss="modal">
|
||||||
<?php echo JText::_('JCANCEL'); ?>
|
<?php echo Text::_('JCANCEL'); ?>
|
||||||
</button>
|
</button>
|
||||||
<!-- post the batch values if process -->
|
<!-- post the batch values if process -->
|
||||||
<button class="btn btn-success" type="submit" onclick="Joomla.submitbutton('###view###.batch');">
|
<button class="btn btn-success" type="submit" onclick="Joomla.submitbutton('###view###.batch');">
|
||||||
<?php echo JText::_('JGLOBAL_BATCH_PROCESS'); ?>
|
<?php echo Text::_('JGLOBAL_BATCH_PROCESS'); ?>
|
||||||
</button>
|
</button>
|
@ -3,8 +3,8 @@
|
|||||||
* @package Joomla.Component.Builder
|
* @package Joomla.Component.Builder
|
||||||
*
|
*
|
||||||
* @created 30th April, 2015
|
* @created 30th April, 2015
|
||||||
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,10 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
// No direct access to this file
|
// No direct access to this file
|
||||||
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
defined('_JEXEC') or die('Restricted access');###LICENSE_LOCKED_DEFINED###
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||||
|
|
||||||
$edit = "index.php?option=com_###component###&view=###views###&task=###view###.edit";
|
$edit = "index.php?option=com_###component###&view=###views###&task=###view###.edit";
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|