Release of v6.1.5
Fix variable name mismatch for organization in the Network Resolve class. #1291. Fix issue where Admin Field relations using custom code did not automatically include multiple fields as expected. #1293. Fix issue where Admin Field relations did not correctly apply concatenation/glue options. #1294. Refactor Compiler functions to improve maintainability and align with modern PHP coding best practices. Refactor the JCB Dashboard, introducing a modernized layout, improved usability, and full responsiveness across desktop, tablet, and mobile devices. Fix deprecated warnings triggered in the JCB CLI. Fix resolve PHP syntax errors and PHP 8.4 deprecations across codebase. Fix four fatal parse/compile errors. Fix implicit nullable parameter deprecations.
This commit is contained in:
105 files changed
+5576
-1349
No files matched your search
+3
-3
@@ -9,7 +9,7 @@ This is a professional-grade [Joomla 6.x](https://extensions.joomla.org/extensio
|
||||
|
||||
JCB generates native Joomla components, plugins, and modules for Joomla 3.x, 4.x, and 5.x - and is already prepared for Joomla 6. Every compiled project is tailored for the specific version without needing backward compatibility plugins. With integrated version-aware compiling, smart boilerplating, and Git-powered project syncing, JCB is much more than a code generator-it's a **full-stack development pipeline for Joomla extensions**.
|
||||
|
||||
You can install this component easily. The latest release (**6.1.4**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/releases) and updated frequently with full source access.
|
||||
You can install this component easily. The latest release (**6.1.5**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/releases) and updated frequently with full source access.
|
||||
|
||||
Upgrades are seamless through Joomla's built-in extension update mechanism.
|
||||
|
||||
@@ -196,9 +196,9 @@ JCB is developed by developers for developers. Its purpose is to democratize hig
|
||||
* **Company:** [Vast Development Method](https://dev.vdm.io)
|
||||
* **Author:** [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
* **Component:** [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
* **Created:** 30th April, 2015 · **Last Build:** 18th February, 2026 · **Version:** 6.1.4
|
||||
* **Created:** 30th April, 2015 · **Last Build:** 24th March, 2026 · **Version:** 6.1.5
|
||||
* **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* **Lines:** 1337111 · **Fields:** 2129 · **Files:** 8792 · **Folders:** 804
|
||||
* **Lines:** 1347496 · **Fields:** 2129 · **Files:** 8831 · **Folders:** 810
|
||||
|
||||
> Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions.
|
||||
|
||||
|
||||
+163
-112
@@ -8,156 +8,207 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
/* CSS Document */
|
||||
/* Dashboard icon grid */
|
||||
|
||||
.dashboard-container {
|
||||
margin-left: 10px;
|
||||
margin-top: 10px;
|
||||
.dashboard-icons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
||||
gap: 1.25rem;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.dashboard-container [class*="span"] {
|
||||
|
||||
.dashboard-icon-item {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.dashboard-icon-link {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
gap: 1rem;
|
||||
height: 100%;
|
||||
min-height: 220px;
|
||||
padding: 1.5rem 1.25rem;
|
||||
border: 1px solid var(--border-color, #dfe3e7);
|
||||
border-radius: 0.75rem;
|
||||
background: var(--body-bg, #fff);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
color: var(--body-color, #1f2d3d);
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
|
||||
}
|
||||
|
||||
.dashboard-icon-link:hover,
|
||||
.dashboard-icon-link:focus,
|
||||
.dashboard-icon-link:focus-visible {
|
||||
color: var(--link-color, #0d6efd);
|
||||
text-decoration: none;
|
||||
border-color: var(--link-color, #0d6efd);
|
||||
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
|
||||
transform: translateY(-2px);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.dashboard-icon-image {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
min-height: 110px;
|
||||
}
|
||||
|
||||
.dashboard-icon-image img {
|
||||
display: block;
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
max-width: 96px;
|
||||
max-height: 96px;
|
||||
width: auto;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
.dashboard-container:before, .dashboard-container:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
.dashboard-container:after {
|
||||
clear: both;
|
||||
}
|
||||
.dashboard-container [class*="span"] {
|
||||
box-sizing: border-box;
|
||||
|
||||
.dashboard-icon-title {
|
||||
display: block;
|
||||
float: left;
|
||||
min-height: 145px;
|
||||
min-width: 96px;
|
||||
width: 100%;
|
||||
font-size: 1.05rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.4;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.dashboard-container [class*="span"]:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
.dashboard-wraper {
|
||||
background: none repeat scroll 0 0 hsl(0, 0%, 93%);
|
||||
border-radius: 5px;
|
||||
float: left;
|
||||
margin: 1%;
|
||||
padding: 3px;
|
||||
width: 17%;
|
||||
min-height: 194px;
|
||||
min-width: 96px;
|
||||
}
|
||||
.dashboard-content a {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 100%) 0%, hsl(0, 0%, 96%) 47%, hsl(0, 0%, 93%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border: 1px solid hsl(0, 0%, 85%);
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 0 3px hsla(0, 0%, 0%, 0.1) inset;
|
||||
color: hsl(0, 0%, 20%);
|
||||
display: block;
|
||||
min-height: 89px;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
}
|
||||
.dashboard-content a:hover {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 90%) 0%, hsl(0, 0%, 100%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
color: hsl(200, 100%, 30%);
|
||||
text-decoration: none;
|
||||
}
|
||||
.dashboard-title {
|
||||
display: block;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
/* Optional info blocks if still used elsewhere */
|
||||
.dashboard-info {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 100%) 0%, hsl(0, 0%, 96%) 47%, hsl(0, 0%, 93%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border: 1px solid hsl(0, 0%, 85%);
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 0 3px hsla(0, 0%, 0%, 0.1) inset;
|
||||
color: hsl(0, 0%, 20%);
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
padding: 10px;
|
||||
padding: 1rem 1.25rem;
|
||||
border: 1px solid var(--border-color, #dfe3e7);
|
||||
border-radius: 0.75rem;
|
||||
background: var(--body-bg, #fff);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
color: var(--body-color, #1f2d3d);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dashboard-info span {
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dashboard-info img {
|
||||
margin: 0 auto;
|
||||
}
|
||||
.dashboard-table {
|
||||
border-top: 1px solid hsl(0, 0%, 87%);
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
.dashboard-info h5 {
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
margin: 0 auto 0.75rem;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Legacy blocks modernized slightly, if still used */
|
||||
.dashboard-block {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 95%) 0%, hsl(0, 0%, 86%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border: 1px solid hsl(0, 0%, 76%);
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 0 hsl(0, 0%, 98%) inset;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 1.5rem;
|
||||
border: 1px solid var(--border-color, #dfe3e7);
|
||||
border-radius: 0.75rem;
|
||||
background: var(--body-bg, #fff);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-head {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 95%) 0%, hsl(0, 0%, 86%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border-bottom: 1px solid hsl(0, 0%, 76%);
|
||||
border-radius: 3px 3px 0 0;
|
||||
box-shadow: 0 1px 0 hsl(0, 0%, 98%) inset, 0 0 3px hsl(0, 0%, 87%);
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 3rem;
|
||||
padding: 0.75rem 1rem;
|
||||
border-bottom: 1px solid var(--border-color, #dfe3e7);
|
||||
background: var(--secondary-bg, #f8f9fa);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-head h5 {
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
padding-left: 10px;
|
||||
padding-top: 11px;
|
||||
font-size: 0.95rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-content {
|
||||
background: none repeat scroll 0 0 hsl(0, 0%, 93%);
|
||||
border-radius: 0 0 3px 3px;
|
||||
padding: 1rem;
|
||||
background: var(--body-bg, #fff);
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-box {
|
||||
background: none repeat scroll 0 0 hsl(0, 0%, 100%);
|
||||
border-top: 1px solid hsl(0, 0%, 82%);
|
||||
box-shadow: 0 0 5px hsl(0, 0%, 87%) inset;
|
||||
background: transparent;
|
||||
border-top: 1px solid var(--border-color, #dfe3e7);
|
||||
box-shadow: none;
|
||||
}
|
||||
.dashboard-block .dashboard-block-content .dashboard-block-box {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.dashboard-block .dashboard-block-content .dashboard-block-box .dashboard-block-table {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.dashboard-block-table {
|
||||
background-color: hsla(0, 0%, 0%, 0);
|
||||
|
||||
.dashboard-block-table,
|
||||
.dashboard-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
margin-bottom: 20px;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.dashboard-block-table th, .dashboard-block-table td {
|
||||
border-top: 1px solid hsl(0, 0%, 87%);
|
||||
line-height: 20px;
|
||||
padding: 5px;
|
||||
|
||||
.dashboard-block-table th,
|
||||
.dashboard-block-table td,
|
||||
.dashboard-table th,
|
||||
.dashboard-table td {
|
||||
padding: 0.65rem 0.75rem;
|
||||
border-top: 1px solid var(--border-color, #e5e7eb);
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.dashboard-badge {
|
||||
background-color: hsl(0, 0%, 60%);
|
||||
border-radius: 9px;
|
||||
color: hsl(0, 0%, 100%);
|
||||
font-size: 11.844px;
|
||||
font-weight: bold;
|
||||
line-height: 14px;
|
||||
padding: 1px 9px 2px;
|
||||
text-shadow: 0 -1px 0 hsla(0, 0%, 0%, 0.25);
|
||||
vertical-align: baseline;
|
||||
display: inline-block;
|
||||
padding: 0.2rem 0.6rem;
|
||||
border-radius: 999px;
|
||||
background-color: #6c757d;
|
||||
color: #fff;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
line-height: 1.4;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Responsive refinements */
|
||||
@media (max-width: 991.98px) {
|
||||
.dashboard-icons {
|
||||
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.dashboard-icon-link {
|
||||
min-height: 200px;
|
||||
padding: 1.25rem 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 575.98px) {
|
||||
.dashboard-icons {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.875rem;
|
||||
}
|
||||
|
||||
.dashboard-icon-link {
|
||||
min-height: 180px;
|
||||
padding: 1rem 0.875rem;
|
||||
border-radius: 0.625rem;
|
||||
}
|
||||
|
||||
.dashboard-icon-image {
|
||||
min-height: 84px;
|
||||
}
|
||||
|
||||
.dashboard-icon-image img {
|
||||
max-width: 72px;
|
||||
max-height: 72px;
|
||||
}
|
||||
|
||||
.dashboard-icon-title {
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
}
|
||||
@@ -1,155 +1,206 @@
|
||||
###BOM###
|
||||
|
||||
/* CSS Document */
|
||||
/* Dashboard icon grid */
|
||||
|
||||
.dashboard-container {
|
||||
margin-left: 10px;
|
||||
margin-top: 10px;
|
||||
.dashboard-icons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
||||
gap: 1.25rem;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.dashboard-container [class*="span"] {
|
||||
|
||||
.dashboard-icon-item {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.dashboard-icon-link {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
gap: 1rem;
|
||||
height: 100%;
|
||||
min-height: 220px;
|
||||
padding: 1.5rem 1.25rem;
|
||||
border: 1px solid var(--border-color, #dfe3e7);
|
||||
border-radius: 0.75rem;
|
||||
background: var(--body-bg, #fff);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
color: var(--body-color, #1f2d3d);
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
|
||||
}
|
||||
|
||||
.dashboard-icon-link:hover,
|
||||
.dashboard-icon-link:focus,
|
||||
.dashboard-icon-link:focus-visible {
|
||||
color: var(--link-color, #0d6efd);
|
||||
text-decoration: none;
|
||||
border-color: var(--link-color, #0d6efd);
|
||||
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
|
||||
transform: translateY(-2px);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.dashboard-icon-image {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
min-height: 110px;
|
||||
}
|
||||
|
||||
.dashboard-icon-image img {
|
||||
display: block;
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
max-width: 96px;
|
||||
max-height: 96px;
|
||||
width: auto;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
.dashboard-container:before, .dashboard-container:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
.dashboard-container:after {
|
||||
clear: both;
|
||||
}
|
||||
.dashboard-container [class*="span"] {
|
||||
box-sizing: border-box;
|
||||
|
||||
.dashboard-icon-title {
|
||||
display: block;
|
||||
float: left;
|
||||
min-height: 145px;
|
||||
min-width: 96px;
|
||||
width: 100%;
|
||||
font-size: 1.05rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.4;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.dashboard-container [class*="span"]:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
.dashboard-wraper {
|
||||
background: none repeat scroll 0 0 hsl(0, 0%, 93%);
|
||||
border-radius: 5px;
|
||||
float: left;
|
||||
margin: 1%;
|
||||
padding: 3px;
|
||||
width: 17%;
|
||||
min-height: 194px;
|
||||
min-width: 96px;
|
||||
}
|
||||
.dashboard-content a {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 100%) 0%, hsl(0, 0%, 96%) 47%, hsl(0, 0%, 93%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border: 1px solid hsl(0, 0%, 85%);
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 0 3px hsla(0, 0%, 0%, 0.1) inset;
|
||||
color: hsl(0, 0%, 20%);
|
||||
display: block;
|
||||
min-height: 89px;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
}
|
||||
.dashboard-content a:hover {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 90%) 0%, hsl(0, 0%, 100%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
color: hsl(200, 100%, 30%);
|
||||
text-decoration: none;
|
||||
}
|
||||
.dashboard-title {
|
||||
display: block;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
/* Optional info blocks if still used elsewhere */
|
||||
.dashboard-info {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 100%) 0%, hsl(0, 0%, 96%) 47%, hsl(0, 0%, 93%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border: 1px solid hsl(0, 0%, 85%);
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 0 3px hsla(0, 0%, 0%, 0.1) inset;
|
||||
color: hsl(0, 0%, 20%);
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
padding: 10px;
|
||||
padding: 1rem 1.25rem;
|
||||
border: 1px solid var(--border-color, #dfe3e7);
|
||||
border-radius: 0.75rem;
|
||||
background: var(--body-bg, #fff);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
color: var(--body-color, #1f2d3d);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dashboard-info span {
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dashboard-info img {
|
||||
margin: 0 auto;
|
||||
}
|
||||
.dashboard-table {
|
||||
border-top: 1px solid hsl(0, 0%, 87%);
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
.dashboard-info h5 {
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
margin: 0 auto 0.75rem;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Legacy blocks modernized slightly, if still used */
|
||||
.dashboard-block {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 95%) 0%, hsl(0, 0%, 86%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border: 1px solid hsl(0, 0%, 76%);
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 0 hsl(0, 0%, 98%) inset;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 1.5rem;
|
||||
border: 1px solid var(--border-color, #dfe3e7);
|
||||
border-radius: 0.75rem;
|
||||
background: var(--body-bg, #fff);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-head {
|
||||
background: linear-gradient(to bottom, hsl(0, 0%, 95%) 0%, hsl(0, 0%, 86%) 100%) repeat scroll 0 0 hsla(0, 0%, 0%, 0);
|
||||
border-bottom: 1px solid hsl(0, 0%, 76%);
|
||||
border-radius: 3px 3px 0 0;
|
||||
box-shadow: 0 1px 0 hsl(0, 0%, 98%) inset, 0 0 3px hsl(0, 0%, 87%);
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 3rem;
|
||||
padding: 0.75rem 1rem;
|
||||
border-bottom: 1px solid var(--border-color, #dfe3e7);
|
||||
background: var(--secondary-bg, #f8f9fa);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-head h5 {
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
padding-left: 10px;
|
||||
padding-top: 11px;
|
||||
font-size: 0.95rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-content {
|
||||
background: none repeat scroll 0 0 hsl(0, 0%, 93%);
|
||||
border-radius: 0 0 3px 3px;
|
||||
padding: 1rem;
|
||||
background: var(--body-bg, #fff);
|
||||
}
|
||||
|
||||
.dashboard-block .dashboard-block-box {
|
||||
background: none repeat scroll 0 0 hsl(0, 0%, 100%);
|
||||
border-top: 1px solid hsl(0, 0%, 82%);
|
||||
box-shadow: 0 0 5px hsl(0, 0%, 87%) inset;
|
||||
background: transparent;
|
||||
border-top: 1px solid var(--border-color, #dfe3e7);
|
||||
box-shadow: none;
|
||||
}
|
||||
.dashboard-block .dashboard-block-content .dashboard-block-box {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.dashboard-block .dashboard-block-content .dashboard-block-box .dashboard-block-table {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.dashboard-block-table {
|
||||
background-color: hsla(0, 0%, 0%, 0);
|
||||
|
||||
.dashboard-block-table,
|
||||
.dashboard-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
margin-bottom: 20px;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
.dashboard-block-table th, .dashboard-block-table td {
|
||||
border-top: 1px solid hsl(0, 0%, 87%);
|
||||
line-height: 20px;
|
||||
padding: 5px;
|
||||
|
||||
.dashboard-block-table th,
|
||||
.dashboard-block-table td,
|
||||
.dashboard-table th,
|
||||
.dashboard-table td {
|
||||
padding: 0.65rem 0.75rem;
|
||||
border-top: 1px solid var(--border-color, #e5e7eb);
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.dashboard-badge {
|
||||
background-color: hsl(0, 0%, 60%);
|
||||
border-radius: 9px;
|
||||
color: hsl(0, 0%, 100%);
|
||||
font-size: 11.844px;
|
||||
font-weight: bold;
|
||||
line-height: 14px;
|
||||
padding: 1px 9px 2px;
|
||||
text-shadow: 0 -1px 0 hsla(0, 0%, 0%, 0.25);
|
||||
vertical-align: baseline;
|
||||
display: inline-block;
|
||||
padding: 0.2rem 0.6rem;
|
||||
border-radius: 999px;
|
||||
background-color: #6c757d;
|
||||
color: #fff;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
line-height: 1.4;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Responsive refinements */
|
||||
@media (max-width: 991.98px) {
|
||||
.dashboard-icons {
|
||||
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.dashboard-icon-link {
|
||||
min-height: 200px;
|
||||
padding: 1.25rem 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 575.98px) {
|
||||
.dashboard-icons {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.875rem;
|
||||
}
|
||||
|
||||
.dashboard-icon-link {
|
||||
min-height: 180px;
|
||||
padding: 1rem 0.875rem;
|
||||
border-radius: 0.625rem;
|
||||
}
|
||||
|
||||
.dashboard-icon-image {
|
||||
min-height: 84px;
|
||||
}
|
||||
|
||||
.dashboard-icon-image img {
|
||||
max-width: 72px;
|
||||
max-height: 72px;
|
||||
}
|
||||
|
||||
.dashboard-icon-title {
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
}
|
||||
@@ -20,18 +20,33 @@ use Joomla\CMS\Language\Text;
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
?>
|
||||
<?php if(isset($this->icons['main']) && is_array($this->icons['main'])) :?>
|
||||
<?php foreach($this->icons['main'] as $icon): ?>
|
||||
<div class="dashboard-wraper">
|
||||
<div class="dashboard-content">
|
||||
<a class="icon" href="<?php echo $icon->url; ?>">
|
||||
<img alt="<?php echo $icon->alt; ?>" src="components/com_###component###/assets/images/icons/<?php echo $icon->image; ?>">
|
||||
<span class="dashboard-title"><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_($icon->name); ?></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<div class="clearfix"></div>
|
||||
<?php else: ?>
|
||||
<div class="alert alert-error"><h4 class="alert-heading"><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_("Permission denied, or not correctly set"); ?></h4><div class="alert-message"><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_("Please notify your System Administrator if result is unexpected."); ?></div></div>
|
||||
<?php if (isset($this->icons['main']) && is_array($this->icons['main']) && !empty($this->icons['main'])) : ?>
|
||||
<div class="dashboard-icons" role="list">
|
||||
<?php foreach ($this->icons['main'] as $icon) : ?>
|
||||
<div class="dashboard-icon-item" role="listitem">
|
||||
<a class="dashboard-icon-link" href="<?php echo $icon->url; ?>">
|
||||
<span class="dashboard-icon-image">
|
||||
<img
|
||||
alt="<?php echo $icon->alt; ?>"
|
||||
src="components/com_###component###/assets/images/icons/<?php echo $icon->image; ?>"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
>
|
||||
</span>
|
||||
<span class="dashboard-icon-title">
|
||||
<?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_($icon->name); ?>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div class="alert alert-danger">
|
||||
<h4 class="alert-heading">
|
||||
<?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_("Permission denied, or not correctly set"); ?>
|
||||
</h4>
|
||||
<div>
|
||||
<?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_("Please notify your System Administrator if result is unexpected."); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@@ -1,12 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 4th September 2022
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @created 4th September 2022
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this JCB template file (EVER)
|
||||
@@ -20,26 +20,69 @@ use Joomla\CMS\Language\Text;
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
?>
|
||||
<img alt="<?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###'); ?>" width="100%" src="components/com_###component###/assets/images/vdm-component.###COMP_IMAGE_TYPE###">
|
||||
<ul class="list-striped">
|
||||
<li><b><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_VERSION'); ?>:</b> <?php echo $this->manifest->version; ?> <span class="update-notice" id="component-update-notice"></span></li>
|
||||
<li><b><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_DATE'); ?>:</b> <?php echo $this->manifest->creationDate; ?></li>
|
||||
<li><b><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_AUTHOR'); ?>:</b> <a href="mailto:<?php echo $this->manifest->authorEmail; ?>"><?php echo $this->manifest->author; ?></a></li>
|
||||
<li><b><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_WEBSITE'); ?>:</b> <a href="<?php echo $this->manifest->authorUrl; ?>" target="_blank"><?php echo $this->manifest->authorUrl; ?></a></li>
|
||||
<li><b><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_LICENSE'); ?>:</b> <?php echo $this->manifest->license; ?></li>
|
||||
<li><b><?php echo $this->manifest->copyright; ?></b></li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
<?php if(Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($this->contributors)): ?>
|
||||
<?php if(count($this->contributors) > 1): ?>
|
||||
<h3><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_CONTRIBUTORS'); ?></h3>
|
||||
<?php else: ?>
|
||||
<h3><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_CONTRIBUTOR'); ?></h3>
|
||||
<?php endif; ?>
|
||||
<ul class="list-striped">
|
||||
<?php foreach($this->contributors as $contributor): ?>
|
||||
<li><b><?php echo $contributor['title']; ?>:</b> <?php echo $contributor['name']; ?></li>
|
||||
<?php endforeach; ?>
|
||||
<div class="com-###component###-dashboard-details">
|
||||
<div class="com-###component###-dashboard-details__image mb-4">
|
||||
<img
|
||||
class="img-fluid w-100"
|
||||
alt="<?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###'); ?>"
|
||||
src="components/com_###component###/assets/images/vdm-component.###COMP_IMAGE_TYPE###"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
>
|
||||
</div>
|
||||
<ul class="list-group list-group-flush mb-4">
|
||||
<li class="list-group-item d-flex flex-wrap justify-content-between gap-2">
|
||||
<span>
|
||||
<strong><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_VERSION'); ?>:</strong>
|
||||
<?php echo $this->manifest->version; ?>
|
||||
</span>
|
||||
<span class="update-notice" id="component-update-notice"></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_DATE'); ?>:</strong>
|
||||
<?php echo $this->manifest->creationDate; ?>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_AUTHOR'); ?>:</strong>
|
||||
<a href="mailto:<?php echo $this->manifest->authorEmail; ?>">
|
||||
<?php echo $this->manifest->author; ?>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_WEBSITE'); ?>:</strong>
|
||||
<a
|
||||
href="<?php echo $this->manifest->authorUrl; ?>"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<?php echo $this->manifest->authorUrl; ?>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_LICENSE'); ?>:</strong>
|
||||
<?php echo $this->manifest->license; ?>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo $this->manifest->copyright; ?></strong>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
<?php endif; ?>
|
||||
<?php if (Super___0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a___Power::check($this->contributors)) : ?>
|
||||
<div class="com-###component###-dashboard-details__contributors mt-4">
|
||||
<h3 class="h5 mb-3">
|
||||
<?php if (count($this->contributors) > 1) : ?>
|
||||
<?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_CONTRIBUTORS'); ?>
|
||||
<?php else : ?>
|
||||
<?php echo Joomla___ba6326ef_cb79_4348_80f4_ab086082e3c5___Power::_('COM_###COMPONENT###_CONTRIBUTOR'); ?>
|
||||
<?php endif; ?>
|
||||
</h3>
|
||||
<ul class="list-group list-group-flush">
|
||||
<?php foreach ($this->contributors as $contributor) : ?>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo $contributor['title']; ?>:</strong>
|
||||
<?php echo $contributor['name']; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
@@ -1338,6 +1338,7 @@ COM_COMPONENTBUILDER_BUILD="Build"
|
||||
COM_COMPONENTBUILDER_BUILDIN="Build-in"
|
||||
COM_COMPONENTBUILDER_BUILD_DATE="Build Date"
|
||||
COM_COMPONENTBUILDER_BUILD_INNOVATE_AND_THRIVE_WITH_LLEWELLYN_ON_GITHUB_TURNING_IDEAS_INTO_IMPACT="Build, Innovate, and Thrive with Llewellyn on GitHub: Turning Ideas into Impact!"
|
||||
COM_COMPONENTBUILDER_BUILD_PREMIUM_JOOMLA_EXTENSIONS_WITH_JOOMENGINE_ON_GITHUB_HELP_US_RAISE_JOOMLA_EXTENSION_STANDARDS="Build premium Joomla extensions with JoomEngine on GitHub: Help us raise Joomla extension standards!"
|
||||
COM_COMPONENTBUILDER_BUTTON_TO_CREATE_S_WILL_SHOW_ONCE_S_IS_SAVED_FOR_THE_FIRST_TIME="Button to create %s will show once %s is saved for the first time."
|
||||
COM_COMPONENTBUILDER_BYOU_CAN_CHANGE_THIS_PERCENTAGE_OF_TRANSLATED_STRINGS_REQUIRED_IN_THE_GLOBAL_OPTIONS_OF_JCBBBR_PLEASE_WATCH_THIS_A_HREFSTUTORIAL_FOR_MORE_HELP_SURROUNDING_THE_JCB_TRANSLATIONS_MANAGERA="<b>You can change this percentage of translated strings required in the global options of JCB.</b><br />Please watch this <a href=%s>tutorial for more help surrounding the JCB translations manager</a>."
|
||||
COM_COMPONENTBUILDER_BY_DONATING_TO_JCB_YOU_JOIN_A_COMMUNITY_OF_FORWARDTHINKING_DEVELOPERS_INVESTING_IN_THE_FUTURE_OF_OPENSOURCE_SOFTWARE="By donating to JCB, you join a community of forward-thinking developers investing in the future of open-source software."
|
||||
@@ -5604,6 +5605,7 @@ COM_COMPONENTBUILDER_JOIN_LLEWELLYN_AND_THE_COMMUNITY_ON_TELEGRAM_BUILDING_JOOML
|
||||
COM_COMPONENTBUILDER_JOIN_LLEWELLYN_ON_THE_JOOMLA_VOLUNTEER_PORTAL_SHAPING_THE_FUTURE_TOGETHER="Join Llewellyn on the Joomla Volunteer Portal: Shaping the Future Together!"
|
||||
COM_COMPONENTBUILDER_JOIN_THE_CONVERSATION_WITH_LLEWELLYN_ON_X_WHERE_IDEAS_TAKE_FLIGHT="Join the Conversation with Llewellyn on X: Where Ideas Take Flight!"
|
||||
COM_COMPONENTBUILDER_JOIN_TYPE="Join Type"
|
||||
COM_COMPONENTBUILDER_JOOMENGINE_ON_DOCKER_CONTAINERIZE_YOUR_CREATIVITY="JoomEngine on Docker: Containerize Your Creativity!"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT="Joomla Component"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS="Joomla Components"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS="Joomla Components Access"
|
||||
@@ -7680,7 +7682,6 @@ COM_COMPONENTBUILDER_LINK_LOCAL_DYNAMIC="Link & Local (dynamic)"
|
||||
COM_COMPONENTBUILDER_LIST_FIELD="List Field"
|
||||
COM_COMPONENTBUILDER_LIST_VIEW="List View"
|
||||
COM_COMPONENTBUILDER_LLEWELLYNS_JOOMLA_SOCIAL_FEED="Llewellyn's Joomla! Social Feed"
|
||||
COM_COMPONENTBUILDER_LLEWELLYN_ON_DOCKER_CONTAINERIZE_YOUR_CREATIVITY="Llewellyn on Docker: Containerize Your Creativity!"
|
||||
COM_COMPONENTBUILDER_LOADING_THE_PRIVATE_KEY_FILE_FAILED="Loading the private key file failed"
|
||||
COM_COMPONENTBUILDER_LOADING_THE_PRIVATE_KEY_TEXT_FAILED="Loading the private key text failed"
|
||||
COM_COMPONENTBUILDER_LOAD_ITEMS_FROM_THIS_S_REPOSITORY="Load items from this (%s) repository"
|
||||
|
||||
@@ -67,7 +67,7 @@ else
|
||||
/**
|
||||
* Error case
|
||||
*/
|
||||
$lines[] = Text::_('COM_COMPONENTBUILDER_ERROR_THE_EXTENSION_WAS_NOT_COMPILED')
|
||||
$lines[] = Text::_('COM_COMPONENTBUILDER_ERROR_THE_EXTENSION_WAS_NOT_COMPILED');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -27,6 +27,9 @@ defined('JPATH_BASE') or die;
|
||||
<a href="https://volunteers.joomla.org/joomlers/1396-llewellyn-van-der-merwe" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_JOIN_LLEWELLYN_ON_THE_JOOMLA_VOLUNTEER_PORTAL_SHAPING_THE_FUTURE_TOGETHER'); ?>">
|
||||
<i class="fa fa-joomla"></i>
|
||||
</a>
|
||||
<a href="https://github.com/joomengine" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_BUILD_PREMIUM_JOOMLA_EXTENSIONS_WITH_JOOMENGINE_ON_GITHUB_HELP_US_RAISE_JOOMLA_EXTENSION_STANDARDS'); ?>">
|
||||
<i class="fa fa-git"></i>
|
||||
</a>
|
||||
<a href="https://git.vdm.dev/octoleo" class="text-decoration-none me-2" data-description="--quiet">
|
||||
<i class="fa fa-linux"></i>
|
||||
</a>
|
||||
@@ -51,7 +54,7 @@ defined('JPATH_BASE') or die;
|
||||
<a href="https://n8n.io/creators/octoleo" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_EFFORTLESS_AUTOMATION_AND_IMPACTFUL_WORKFLOWS_WITH_LLEWELLYN_ON_NEIGHTN'); ?>">
|
||||
<i class="fa fa-code-fork"></i>
|
||||
</a>
|
||||
<a href="https://hub.docker.com/u/llewellyn" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_LLEWELLYN_ON_DOCKER_CONTAINERIZE_YOUR_CREATIVITY'); ?>">
|
||||
<a href="https://hub.docker.com/r/octoleo/joomengine" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_JOOMENGINE_ON_DOCKER_CONTAINERIZE_YOUR_CREATIVITY'); ?>">
|
||||
<i class="fa-brands fa-docker"></i>
|
||||
</a>
|
||||
<a href="https://opencollective.com/joomla-component-builder" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_DONATE_TOWARDS_JCB_HELP_LLEWELLYN_FINANCIALLY_SO_HE_CAN_CONTINUE_DEVELOPING_THIS_GREAT_TOOL'); ?>">
|
||||
|
||||
@@ -2312,7 +2312,7 @@ INSERT INTO `#__componentbuilder_power` (`id`, `guid`, `system_name`, `name`, `t
|
||||
(1230, '4d9c5f48-4ed4-485a-9d9a-f31212ddb135', 'VDM.File.Definition', 'Definition', 'final class', 'File Definition Class\r\n\r\nThis class represents a **single physical file** on disk and exposes\r\na consistent and immutable API for downstream usage.\r\n\r\nIt is not:\r\n- a database record\r\n- a file manager\r\n- a transport layer\r\n\r\nIt **is**:\r\n- a file identity\r\n- a metadata container\r\n- a filesystem reference\r\n\r\nInstances of this class are constructed exclusively from upload\r\nresults produced by the File Agent class.\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIwDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '{\"0\":\"3b7cd7fc-3e7c-4eaf-b156-7eb3ea744952\"}', '', '[[[NamespacePrefix]]]\\Joomla\\File.Definition', 0, '{}', '{}', '', '{\"use_selection0\":{\"use\":\"f11dc790-713e-4706-9a85-a318ed3ad56e\",\"as\":\"default\"}}', 'CS8qKg0KCSAqIE9yaWdpbmFsIGNsaWVudCBmaWxlbmFtZS4NCgkgKg0KCSAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgYXMgc3VibWl0dGVkIGJ5IHRoZSBicm93c2VyLg0KCSAqDQoJICogQHZhciAgIHN0cmluZw0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBzdHJpbmcgJG5hbWU7DQoNCgkvKioNCgkgKiBTZXJ2ZXItc2lkZSBmaWxlbmFtZS4NCgkgKg0KCSAqIFRoaXMgaXMgdGhlIG5hbWUgdXNlZCBmb3Igc3RvcmFnZSBvbiBkaXNrIGFuZCBtYXkgY29udGFpbg0KCSAqIGEgcmFuZG9tIHByZWZpeC4NCgkgKg0KCSAqIEB2YXIgICBzdHJpbmcNCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgc3RyaW5nICRmaWxlX25hbWU7DQoNCgkvKioNCgkgKiBSYW5kb20gZnJhZ21lbnQgaW5qZWN0ZWQgZHVyaW5nIHVwbG9hZCAoaWYgYW55KS4NCgkgKg0KCSAqIFRoaXMgdmFsdWUgaXMgcmV0YWluZWQgdG8gZXhwb3NlIG5hbWluZyBiZWhhdmlvdXIgZXhwbGljaXRseSB0byBjYWxsZXJzLg0KCSAqDQoJICogQHZhciAgIHN0cmluZw0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBzdHJpbmcgJHJhbmRvbTsNCg0KCS8qKg0KCSAqIEZpbGUgZXh0ZW5zaW9uICh3aXRob3V0IGRvdCkuDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkZXh0ZW5zaW9uOw0KDQoJLyoqDQoJICogRmlsZSBzaXplIGluIGJ5dGVzLg0KCSAqDQoJICogQHZhciAgIGludA0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBpbnQgJHNpemU7DQoNCgkvKioNCgkgKiBSZXNvbHZlZCBNSU1FIHR5cGUuDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkbWltZTsNCg0KCS8qKg0KCSAqIEFic29sdXRlIGZpbGVzeXN0ZW0gcGF0aC4NCgkgKg0KCSAqIEB2YXIgICBzdHJpbmcNCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgc3RyaW5nICRmaWxlX3BhdGg7DQoNCgkvKioNCgkgKiBDb25zdHJ1Y3QgYSBuZXcgRmlsZSBvYmplY3QuDQoJICoNCgkgKiBUaGUgYCRkZXRhaWxzYCBhcnJheSBtdXN0IHJlcHJlc2VudCBhIGZ1bGx5IHVwbG9hZGVkIGFuZA0KCSAqIHdyaXR0ZW4gZmlsZSBhcyBwcm9kdWNlZCBieSB0aGUgSGFuZGxlciBjbGFzcy4NCgkgKg0KCSAqIFJlcXVpcmVkIGtleXM6DQoJICogLSBuYW1lDQoJICogLSBmaWxlX25hbWUNCgkgKiAtIGZ1bGxfcGF0aA0KCSAqDQoJICogT3B0aW9uYWwga2V5czoNCgkgKiAtIHJhbmRvbQ0KCSAqIC0gZXh0ZW5zaW9uDQoJICogLSBzaXplDQoJICogLSBtaW1lDQoJICoNCgkgKiBAcGFyYW0gIGFycmF5ICAkZGV0YWlscyAgVXBsb2FkIGRldGFpbCBtYXAuDQoJICoNCgkgKiBAdGhyb3dzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gIElmIHJlcXVpcmVkIGZpZWxkcyBhcmUgbWlzc2luZy4NCgkgKiBAdGhyb3dzIFxSdW50aW1lRXhjZXB0aW9uICAgICAgICAgIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIGRpc2suDQoJICoNCgkgKiBAc2luY2UgIDUuMS40DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRkZXRhaWxzKQ0KCXsNCgkJZm9yZWFjaCAoWyduYW1lJywnZmlsZV9uYW1lJywnZnVsbF9wYXRoJ10gYXMgJGtleSkNCgkJew0KCQkJaWYgKGVtcHR5KCRkZXRhaWxzWyRrZXldKSkNCgkJCXsNCgkJCQl0aHJvdyBuZXcgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiRmlsZSBvYmplY3QgbWlzc2luZyByZXF1aXJlZCBrZXk6IHska2V5fSIpOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCFpc19maWxlKCRkZXRhaWxzWydmdWxsX3BhdGgnXSkpDQoJCXsNCgkJCXRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiRmlsZSBkb2VzIG5vdCBleGlzdCBvbiBkaXNrOiB7JGRldGFpbHNbJ2Z1bGxfcGF0aCddfSIpOw0KCQl9DQoNCgkJJHRoaXMtPm5hbWUgICAgICA9IChzdHJpbmcpICRkZXRhaWxzWyduYW1lJ107DQoJCSR0aGlzLT5maWxlX25hbWUgPSAoc3RyaW5nKSAkZGV0YWlsc1snZmlsZV9uYW1lJ107DQoJCSR0aGlzLT5maWxlX3BhdGggPSAoc3RyaW5nKSAkZGV0YWlsc1snZnVsbF9wYXRoJ107DQoJCSR0aGlzLT5yYW5kb20gICAgPSAoc3RyaW5nKSAoJGRldGFpbHNbJ3JhbmRvbSddID8/ICcnKTsNCg0KCQkvLyBOb3JtYWxpemUgZXh0ZW5zaW9uIGZyb20gcGF0aCBpZiBtaXNzaW5nDQoJCSR0aGlzLT5leHRlbnNpb24gPSAoc3RyaW5nKSAoJGRldGFpbHNbJ2V4dGVuc2lvbiddID8/IE1pbWVIZWxwZXI6OmV4dGVuc2lvbigkdGhpcy0+ZmlsZV9wYXRoKSk7DQoNCgkJLy8gRW5mb3JjZSByZWFsIGZpbGUgdmFsdWVzIGlmIG9taXR0ZWQNCgkJJHRoaXMtPnNpemUgPSAoaW50KSAoJGRldGFpbHNbJ3NpemUnXSA/PyBmaWxlc2l6ZSgkdGhpcy0+ZmlsZV9wYXRoKSk7DQoJCSR0aGlzLT5taW1lID0gKHN0cmluZykgKCRkZXRhaWxzWydtaW1lJ10gPz8gTWltZUhlbHBlcjo6bWltZVR5cGUoJHRoaXMtPmZpbGVfcGF0aCkpOw0KCX0NCg0KCS8qKg0KCSAqIEdldCBvcmlnaW5hbCBjbGllbnQgZmlsZW5hbWUuDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gbmFtZSgpOiBzdHJpbmcNCgl7DQoJCXJldHVybiAkdGhpcy0+bmFtZTsNCgl9DQoNCgkvKioNCgkgKiBHZXLine truncated
|
||||
(1231, '2cd4b4d4-fca3-49a0-8605-a42eee3a5f99', 'VDM.Interfaces.File.TypeDefinitionInterface', 'TypeDefinitionInterface', 'interface', 'File Type Definition Interface\r\n\r\nThis class represents an **immutable file handling blueprint** used by the file\r\nintake pipeline. It defines:\r\n\r\n- The HTML input field responsible for uploads\r\n- Allowed file formats\r\n- Target filesystem location\r\n- Filter engine rule\r\n- Image crop definitions (if applicable)\r\n\r\nInstances of this class are designed to be:\r\n\r\n- Safe to reuse\r\n- Immutable after construction\r\n- Free of any database concerns\r\n- Serializable-friendly\r\n\r\nIt replaces the older Type database architecture with a deterministic,\r\nconfiguration-based model.\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIyDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '', '', '[[[NamespacePrefix]]]\\Joomla\\Interfaces.File.TypeDefinitionInterface', 0, '{}', '{}', '', '{}', 'CS8qKg0KCSAqIEdldCB0aGUgdXBsb2FkIGZpZWxkIG5hbWUuDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZmllbGQoKTogc3RyaW5nOw0KDQoJLyoqDQoJICogR2V0IHRoZSBkZWZpbmVkIGZpbGUgdHlwZS4NCgkgKg0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICogQHNpbmNlICA1LjEuNA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiB0eXBlKCk6IHN0cmluZzsNCg0KCS8qKg0KCSAqIEdldCB0aGUgdXBsb2FkIGZpbHRlciBtb2RlLg0KCSAqDQoJICogQHJldHVybiBzdHJpbmd8bnVsbA0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZmlsdGVyKCk6ID9zdHJpbmc7DQoNCgkvKioNCgkgKiBHZXQgdGhlIHRhcmdldCBmaWxlc3lzdGVtIHBhdGguDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gcGF0aCgpOiBzdHJpbmc7DQoNCgkvKioNCgkgKiBHZXQgdGhlIGFsbG93ZWQgZmlsZSBleHRlbnNpb25zLg0KCSAqDQoJICogQHJldHVybiBhcnJheTxpbnQsc3RyaW5nPg0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZm9ybWF0cygpOiBhcnJheTsNCg0KCS8qKg0KCSAqIEV4cG9ydCB0aGUgZnVsbCB0eXBlIGRlZmluaXRpb24gYXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkuDQoJICoNCgkgKiBUaGlzIHJldHVybnMgdGhlIGV4YWN0IHN0cnVjdHVyZSB1c2VkIGJ5IHRoZSBjb25zdHJ1Y3RvciwNCgkgKiBlbnN1cmluZyBpdCBjYW4gYmUgc2FmZWx5IHN0b3JlZCwgc2VyaWFsaXplZCwgb3IgcmVidWlsdC4NCgkgKg0KCSAqIEByZXR1cm4gYXJyYXkgIFRoZSBmdWxsIGNvbmZpZ3VyYXRpb24gbWFwLg0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gdG9BcnJheSgpOiBhcnJheTs=', '{}', '{}', NULL, 1, '2025-12-09 09:36:55', 5, 0, 1),
|
||||
(1232, '3b7cd7fc-3e7c-4eaf-b156-7eb3ea744952', 'VDM.Interfaces.File.DefinitionInterface', 'DefinitionInterface', 'interface', 'File Definition Interface\r\n\r\nThis class represents a **single physical file** on disk and exposes\r\na consistent and immutable API for downstream usage.\r\n\r\nIt is not:\r\n- a database record\r\n- a file manager\r\n- a transport layer\r\n\r\nIt **is**:\r\n- a file identity\r\n- a metadata container\r\n- a filesystem reference\r\n\r\nInstances of this class are constructed exclusively from upload\r\nresults produced by the a File Agent class.\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIyDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '', '', '[[[NamespacePrefix]]]\\Joomla\\Interfaces.File.DefinitionInterface', 0, '{}', '{}', '', '{}', 'CS8qKg0KCSAqIEdldCBvcmlnaW5hbCBjbGllbnQgZmlsZW5hbWUuDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gbmFtZSgpOiBzdHJpbmc7DQoNCgkvKioNCgkgKiBHZXQgZmlsZXN5c3RlbSBmaWxlbmFtZS4NCgkgKg0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICogQHNpbmNlICA1LjEuNA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBmaWxlTmFtZSgpOiBzdHJpbmc7DQoNCgkvKioNCgkgKiBHZXQgZmlsZSBleHRlbnNpb24uDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZXh0ZW5zaW9uKCk6IHN0cmluZzsNCg0KCS8qKg0KCSAqIEdldCByYW5kb20gbmFtaW5nIGZyYWdtZW50IChpZiB1c2VkKS4NCgkgKg0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICogQHNpbmNlICA1LjEuNA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiByYW5kb20oKTogc3RyaW5nOw0KDQoJLyoqDQoJICogR2V0IGZpbGUgc2l6ZSAoYnl0ZXMpLg0KCSAqDQoJICogQHJldHVybiBpbnQNCgkgKiBAc2luY2UgIDUuMS40DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHNpemUoKTogaW50Ow0KDQoJLyoqDQoJICogR2V0IE1JTUUgdHlwZS4NCgkgKg0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICogQHNpbmNlICA1LjEuNA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBtaW1lKCk6IHN0cmluZzsNCg0KCS8qKg0KCSAqIEdldCBhYnNvbHV0ZSBmaWxlIHBhdGguDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZmlsZVBhdGgoKTogc3RyaW5nOw0KDQoJLyoqDQoJICogRXhwb3J0IGZpbGUgaW5mb3JtYXRpb24gYXMgYXJyYXkuDQoJICoNCgkgKiBAcmV0dXJuIGFycmF5PHN0cmluZyxtaXhlZD4NCgkgKiBAc2luY2UgIDUuMS40DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHRvQXJyYXkoKTogYXJyYXk7', '{}', '{}', NULL, 1, '2025-12-09 09:41:33', 6, 0, 1),
|
||||
(1233, '0e23f0ac-8a0a-450e-b40c-912bf331bfae', 'VDM.Interfaces.File.HandlerInterface', 'HandlerInterface', 'interface', 'File Handler Interface\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIyDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '', '', '[[[NamespacePrefix]]]\\Joomla\\Interfaces.File.HandlerInterface', 0, '{}', '{}', '', '{}', 'CS8qKg0KCSAqIFNldCB0aGUgJHVzZVN0cmVhbXMgcHJvcGVydHkgdG8gdXNlIHN0cmVhbXMgZm9yIGZpbGUgaGFuZGxpbmcNCgkgKg0KCSAqIEBwYXJhbSAgIGJvb2wgICR1c2VTdHJlYW1zICBUcnVlIHRvIHVzZSBzdHJlYW1zLCBmYWxzZSBvdGhlcndpc2UuDQoJICoNCgkgKiBAcmV0dXJuICBzZWxmICBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIGFsbG93IGZvciBtZXRob2QgY2hhaW5pbmcuDQoJICogQHNpbmNlICAgNS4wLjMNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gc2V0VXNlU3RyZWFtcyhib29sICR1c2VTdHJlYW1zKTogc2VsZjsNCg0KCS8qKg0KCSAqIFNldCB0aGUgJGFsbG93VW5zYWZlIHByb3BlcnR5IHRvIGFsbG93IG9yIGRpc2FsbG93IHVuc2FmZSBmaWxlIHVwbG9hZHMuDQoJICoNCgkgKiBAcGFyYW0gICBib29sICAkYWxsb3dVbnNhZmUgIFRydWUgdG8gYWxsb3cgdW5zYWZlIGZpbGUgdXBsb2FkcywgZmFsc2Ugb3RoZXJ3aXNlLg0KCSAqDQoJICogQHJldHVybiAgc2VsZiAgUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSB0byBhbGxvdyBmb3IgbWV0aG9kIGNoYWluaW5nLg0KCSAqIEBzaW5jZSAgIDUuMC4zDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHNldEFsbG93VW5zYWZlKGJvb2wgJGFsbG93VW5zYWZlKTogc2VsZjsNCg0KCS8qKg0KCSAqIFNldCB0aGUgJHNhZmVGaWxlT3B0aW9ucyBwcm9wZXJ0eSB0byBkZWZpbmUgb3B0aW9ucyBmb3IgZmlsZSBzYWZldHkgY2hlY2tzLg0KCSAqDQoJICogQHBhcmFtICAgYXJyYXkgICRzYWZlRmlsZU9wdGlvbnMgIEFuIGFycmF5IG9mIG9wdGlvbnMgZm9yIElucHV0RmlsdGVyOjppc1NhZmVGaWxlLg0KCSAqDQoJICogQHJldHVybiAgc2VsZiAgUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSB0byBhbGxvdyBmb3IgbWV0aG9kIGNoYWluaW5nLg0KCSAqIEBzaW5jZSAgIDUuMC4zDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHNldFNhZmVGaWxlT3B0aW9ucyhhcnJheSAkc2FmZUZpbGVPcHRpb25zKTogc2VsZjsNCg0KCS8qKg0KCSAqIFNldCB0aGUgJGVucXVldWVFcnJvciBwcm9wZXJ0eSB0byBjb250cm9sIGVycm9yIHJlcG9ydGluZyBiZWhhdmlvci4NCgkgKg0KCSAqIEBwYXJhbSAgIGJvb2wgICRlbnF1ZXVlRXJyb3IgIFRydWUgdG8gZW5xdWV1ZSBlcnJvciBtZXNzYWdlcywgZmFsc2UgdG8gc3RvcmUgdGhlbSBpbiB0aGUgaW50ZXJuYWwgZXJyb3IgYXJyYXkuDQoJICoNCgkgKiBAcmV0dXJuICBzZWxmICBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIGFsbG93IGZvciBtZXRob2QgY2hhaW5pbmcuDQoJICogQHNpbmNlICAgNS4wLjMNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gc2V0RW5xdWV1ZUVycm9yKGJvb2wgJGVucXVldWVFcnJvcik6IHNlbGY7DQoNCgkvKioNCgkgKiBTZXQgdGhlICRsZWdhbEZvcm1hdHMgcHJvcGVydHkgdG8gZGVmaW5lIGxlZ2FsIGZpbGUgZm9ybWF0cy4NCgkgKg0KCSAqIEBwYXJhbSAgIGFycmF5ICAkbGVnYWxGb3JtYXRzICBBbiBhcnJheSBvZiBhbGxvd2VkIGZpbGUgZm9ybWF0cyAoZS5nLiwgWydqcGcnLCAncG5nJ10pLg0KCSAqDQoJICogQHJldHVybiAgc2VsZiAgUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSB0byBhbGxvdyBmb3IgbWV0aG9kIGNoYWluaW5nLg0KCSAqIEBzaW5jZSAgIDUuMC4zDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHNldExlZ2FsRm9ybWF0cyhhcnJheSAkbGVnYWxGb3JtYXRzKTogc2VsZjsNCg0KCS8qKg0KCSAqIEdldCBhIGZpbGUgZnJvbSB0aGUgaW5wdXQgYmFzZWQgb24gZmllbGQgbmFtZSBhbmQgZmlsZSB0eXBlLCB0aGVuIHByb2Nlc3MgaXQuDQoJICoNCgkgKiBAcGFyYW0gICBzdHJpbmcJICAgJGZpZWxkICAgVGhlIGlucHV0IGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlIHVwbG9hZC4NCgkgKiBAcGFyYW0gICBzdHJpbmcJICAgJHR5cGUJVGhlIHR5cGUgb2YgZmlsZSAoZS5nLiwgJ2ltYWdlJywgJ2RvY3VtZW50JykuDQoJICogQHBhcmFtICAgc3RyaW5nfG51bGwgICRmaWx0ZXIgIFRoZSBmaWx0ZXIgdG8gYXBwbHkgd2hlbiB1cGxvYWRpbmcgdGhlIGZpbGUuDQoJICogQHBhcmFtICAgc3RyaW5nfG51bGwgICRwYXRoCVRoZSBkaXJlY3RvcnkgcGF0aCB3aGVyZSB0aGUgZmlsZSBzaG91bGQgYmUgc2F2ZWQuDQoJICoNCgkgKiBAcmV0dXJuICBhcnJheXxudWxsICAgRmlsZSBkZXRhaWxzIG9yIGZhbHNlIG9uIGZhaWx1cmUuDQoJICogQHNpbmNlICAgMy4wLjExDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGdldEZpbGUoc3RyaW5nICRmaWVsZCwgc3RyaW5nICR0eXBlLCBzdHJpbmcgJGZpbHRlciA9IG51bGwsIHN0cmluZyAkcGF0aCA9IG51bGwpOiA/YXJyYXk7DQoNCgkvKioNCgkgKiBSZW1vdmUgYSBwcmV2aW91c2x5IHVwbG9hZGVkIGZpbGUuDQoJICoNCgkgKiBUaGlzIG1ldGhvZCB1c2VzIHRoZSBzYW1lIGludGVybmFsIHJlbW92YWwgbWVjaGFuaXNtIGFzIHRoZSB1cGxvYWRlciwNCgkgKiBlbnN1cmluZyBjb25zaXN0ZW50IGNsZWFudXAgbG9naWMgYWNyb3NzIHRoZSBzeXN0ZW0uDQoJICoNCgkgKiBJdCBhY2NlcHRzIGVpdGhlcjoNCgkgKiAtIGEgZnVsbCBmaWxlc3lzdGVtIHBhdGgNCgkgKiAtIG9yIGEgZmlsZW5hbWUgcmVzb2x2YWJsZSBieSBQYXRoOjpjbGVhbg0KCSAqDQoJICogQHBhcmFtICBzdHJpbmcgICRwYXRoICBBYnNvbHV0ZSBvciByZWxhdGl2ZSBmaWxlIHBhdGguDQoJICoNCgkgKiBAcmV0dXJuIGJvb2wgIFRSVUUgb24gc3VjY2VzcywgRkFMU0Ugb24gZmFpbHVyZSBvciBtaXNzaW5nIGZpbGUuDQoJICoNCgkgKiBAc2luY2UgIDUuMS40DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHJlbW92ZUZpbGUoc3RyaW5nICRwYXRoKTogYm9vbDsNCg0KCS8qKg0KCSAqIEdldCB0aGUgZXJyb3IgbWVzc2FnZXMgYXMgYSBzdHJpbmcuDQoJICoNCgkgKiBAcGFyYW0gIGJvb2wgICAkdG9TdHJpbmcgIFRoZSBvcHRpb24gdG8gcmV0dXJuIGVycm9ycyBhcyBhIHN0cmluZw0KCSAqDQoJICogQHJldHVybiAgc3RyaW5nfGFycmF5ICBSZXR1cm5zIHRoZSBlcnJvciBtZXNzYWdlcyBhcyBhIHNpbmdsZSBjb25jYXRlbmF0ZWQgc3RyaW5nLg0KCSAqIEBzaW5jZSAgIDUuMC4zDQoJICovDQoJcHVibGljIGZ1bmN0aW9uLine truncated
|
||||
(1233, '0e23f0ac-8a0a-450e-b40c-912bf331bfae', 'VDM.Interfaces.File.HandlerInterface', 'HandlerInterface', 'interface', 'File Handler Interface\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIyDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '', '', '[[[NamespacePrefix]]]\\Joomla\\Interfaces.File.HandlerInterface', 0, '{}', '{}', '', '{}', 'CS8qKg0KCSAqIFNldCB0aGUgJHVzZVN0cmVhbXMgcHJvcGVydHkgdG8gdXNlIHN0cmVhbXMgZm9yIGZpbGUgaGFuZGxpbmcNCgkgKg0KCSAqIEBwYXJhbSAgIGJvb2wgICR1c2VTdHJlYW1zICBUcnVlIHRvIHVzZSBzdHJlYW1zLCBmYWxzZSBvdGhlcndpc2UuDQoJICoNCgkgKiBAcmV0dXJuICBzZWxmICBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIGFsbG93IGZvciBtZXRob2QgY2hhaW5pbmcuDQoJICogQHNpbmNlICAgNS4wLjMNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gc2V0VXNlU3RyZWFtcyhib29sICR1c2VTdHJlYW1zKTogc2VsZjsNCg0KCS8qKg0KCSAqIFNldCB0aGUgJGFsbG93VW5zYWZlIHByb3BlcnR5IHRvIGFsbG93IG9yIGRpc2FsbG93IHVuc2FmZSBmaWxlIHVwbG9hZHMuDQoJICoNCgkgKiBAcGFyYW0gICBib29sICAkYWxsb3dVbnNhZmUgIFRydWUgdG8gYWxsb3cgdW5zYWZlIGZpbGUgdXBsb2FkcywgZmFsc2Ugb3RoZXJ3aXNlLg0KCSAqDQoJICogQHJldHVybiAgc2VsZiAgUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSB0byBhbGxvdyBmb3IgbWV0aG9kIGNoYWluaW5nLg0KCSAqIEBzaW5jZSAgIDUuMC4zDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHNldEFsbG93VW5zYWZlKGJvb2wgJGFsbG93VW5zYWZlKTogc2VsZjsNCg0KCS8qKg0KCSAqIFNldCB0aGUgJHNhZmVGaWxlT3B0aW9ucyBwcm9wZXJ0eSB0byBkZWZpbmUgb3B0aW9ucyBmb3IgZmlsZSBzYWZldHkgY2hlY2tzLg0KCSAqDQoJICogQHBhcmFtICAgYXJyYXkgICRzYWZlRmlsZU9wdGlvbnMgIEFuIGFycmF5IG9mIG9wdGlvbnMgZm9yIElucHV0RmlsdGVyOjppc1NhZmVGaWxlLg0KCSAqDQoJICogQHJldHVybiAgc2VsZiAgUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSB0byBhbGxvdyBmb3IgbWV0aG9kIGNoYWluaW5nLg0KCSAqIEBzaW5jZSAgIDUuMC4zDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHNldFNhZmVGaWxlT3B0aW9ucyhhcnJheSAkc2FmZUZpbGVPcHRpb25zKTogc2VsZjsNCg0KCS8qKg0KCSAqIFNldCB0aGUgJGVucXVldWVFcnJvciBwcm9wZXJ0eSB0byBjb250cm9sIGVycm9yIHJlcG9ydGluZyBiZWhhdmlvci4NCgkgKg0KCSAqIEBwYXJhbSAgIGJvb2wgICRlbnF1ZXVlRXJyb3IgIFRydWUgdG8gZW5xdWV1ZSBlcnJvciBtZXNzYWdlcywgZmFsc2UgdG8gc3RvcmUgdGhlbSBpbiB0aGUgaW50ZXJuYWwgZXJyb3IgYXJyYXkuDQoJICoNCgkgKiBAcmV0dXJuICBzZWxmICBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIGFsbG93IGZvciBtZXRob2QgY2hhaW5pbmcuDQoJICogQHNpbmNlICAgNS4wLjMNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gc2V0RW5xdWV1ZUVycm9yKGJvb2wgJGVucXVldWVFcnJvcik6IHNlbGY7DQoNCgkvKioNCgkgKiBTZXQgdGhlICRsZWdhbEZvcm1hdHMgcHJvcGVydHkgdG8gZGVmaW5lIGxlZ2FsIGZpbGUgZm9ybWF0cy4NCgkgKg0KCSAqIEBwYXJhbSAgIGFycmF5ICAkbGVnYWxGb3JtYXRzICBBbiBhcnJheSBvZiBhbGxvd2VkIGZpbGUgZm9ybWF0cyAoZS5nLiwgWydqcGcnLCAncG5nJ10pLg0KCSAqDQoJICogQHJldHVybiAgc2VsZiAgUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSB0byBhbGxvdyBmb3IgbWV0aG9kIGNoYWluaW5nLg0KCSAqIEBzaW5jZSAgIDUuMC4zDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHNldExlZ2FsRm9ybWF0cyhhcnJheSAkbGVnYWxGb3JtYXRzKTogc2VsZjsNCg0KCS8qKg0KCSAqIEdldCBhIGZpbGUgZnJvbSB0aGUgaW5wdXQgYmFzZWQgb24gZmllbGQgbmFtZSBhbmQgZmlsZSB0eXBlLCB0aGVuIHByb2Nlc3MgaXQuDQoJICoNCgkgKiBAcGFyYW0gICBzdHJpbmcJICAgJGZpZWxkICAgVGhlIGlucHV0IGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlIHVwbG9hZC4NCgkgKiBAcGFyYW0gICBzdHJpbmcJICAgJHR5cGUJVGhlIHR5cGUgb2YgZmlsZSAoZS5nLiwgJ2ltYWdlJywgJ2RvY3VtZW50JykuDQoJICogQHBhcmFtICAgc3RyaW5nfG51bGwgICRmaWx0ZXIgIFRoZSBmaWx0ZXIgdG8gYXBwbHkgd2hlbiB1cGxvYWRpbmcgdGhlIGZpbGUuDQoJICogQHBhcmFtICAgc3RyaW5nfG51bGwgICRwYXRoCVRoZSBkaXJlY3RvcnkgcGF0aCB3aGVyZSB0aGUgZmlsZSBzaG91bGQgYmUgc2F2ZWQuDQoJICoNCgkgKiBAcmV0dXJuICBhcnJheXxudWxsICAgRmlsZSBkZXRhaWxzIG9yIGZhbHNlIG9uIGZhaWx1cmUuDQoJICogQHNpbmNlICAgMy4wLjExDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGdldEZpbGUoc3RyaW5nICRmaWVsZCwgc3RyaW5nICR0eXBlLCA/c3RyaW5nICRmaWx0ZXIgPSBudWxsLCA/c3RyaW5nICRwYXRoID0gbnVsbCk6ID9hcnJheTsNCg0KCS8qKg0KCSAqIFJlbW92ZSBhIHByZXZpb3VzbHkgdXBsb2FkZWQgZmlsZS4NCgkgKg0KCSAqIFRoaXMgbWV0aG9kIHVzZXMgdGhlIHNhbWUgaW50ZXJuYWwgcmVtb3ZhbCBtZWNoYW5pc20gYXMgdGhlIHVwbG9hZGVyLA0KCSAqIGVuc3VyaW5nIGNvbnNpc3RlbnQgY2xlYW51cCBsb2dpYyBhY3Jvc3MgdGhlIHN5c3RlbS4NCgkgKg0KCSAqIEl0IGFjY2VwdHMgZWl0aGVyOg0KCSAqIC0gYSBmdWxsIGZpbGVzeXN0ZW0gcGF0aA0KCSAqIC0gb3IgYSBmaWxlbmFtZSByZXNvbHZhYmxlIGJ5IFBhdGg6OmNsZWFuDQoJICoNCgkgKiBAcGFyYW0gIHN0cmluZyAgJHBhdGggIEFic29sdXRlIG9yIHJlbGF0aXZlIGZpbGUgcGF0aC4NCgkgKg0KCSAqIEByZXR1cm4gYm9vbCAgVFJVRSBvbiBzdWNjZXNzLCBGQUxTRSBvbiBmYWlsdXJlIG9yIG1pc3NpbmcgZmlsZS4NCgkgKg0KCSAqIEBzaW5jZSAgNS4xLjQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlRmlsZShzdHJpbmcgJHBhdGgpOiBib29sOw0KDQoJLyoqDQoJICogR2V0IHRoZSBlcnJvciBtZXNzYWdlcyBhcyBhIHN0cmluZy4NCgkgKg0KCSAqIEBwYXJhbSAgYm9vbCAgICR0b1N0cmluZyAgVGhlIG9wdGlvbiB0byByZXR1cm4gZXJyb3JzIGFzIGEgc3RyaW5nDQoJICoNCgkgKiBAcmV0dXJuICBzdHJpbmd8YXJyYXkgIFJldHVybnMgdGhlIGVycm9yIG1lc3NhZ2VzIGFzIGEgc2luZ2xlIGNvbmNhdGVuYXRlZCBzdHJpbmcuDQoJICogQHNpbmNlICAgNS4wLjMNCgkgKi8NCglwdWJsaWMgZnVuY3RpLine truncated
|
||||
(1234, '082b049c-d8f3-462d-a520-3d312f2eaa31', 'VDM.Interfaces.File.PersistentManagerInterface', 'PersistentManagerInterface', 'interface', 'Persistent File Manager Interface\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIyDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '', '', '[[[NamespacePrefix]]]\\Joomla\\Interfaces.File.PersistentManagerInterface', 0, '{}', '{}', '', '{\"use_selection0\":{\"use\":\"b62ec888-ce11-45c8-97ff-b4d9bea3d0bc\",\"as\":\"File\"}}', 'CS8qKg0KCSAqIFVwbG9hZCBhIGZpbGUsIG9mIGEgZ2l2ZW4gZmlsZSB0eXBlIGFuZCBsaW5rIGl0IHRvIGFuIGVudGl0eS4NCgkgKg0KCSAqIEBwYXJhbSBzdHJpbmcgJGd1aWQgICAgVGhlIGZpbGUgdHlwZSBndWlkDQoJICogQHBhcmFtIHN0cmluZyAkZW50aXR5ICBUaGUgZW50aXR5IGd1aWQNCgkgKiBAcGFyYW0gc3RyaW5nICR0YXJnZXQgIFRoZSB0YXJnZXQgZW50aXR5IG5hbWUNCgkgKg0KCSAqIEByZXR1cm4gdm9pZA0KCSAqIEB0aHJvd3MgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBJZiB0aGUgZmlsZSB0eXBlIGlzIG5vdCB2YWxpZC4NCgkgKiBAdGhyb3dzIFxSdW50aW1lRXhjZXB0aW9uIElmIHRoZXJlIGlzIGFuIGVycm9yIGR1cmluZyBmaWxlIHVwbG9hZC4NCgkgKiBAc2luY2UgNS4wLjINCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gdXBsb2FkKHN0cmluZyAkZ3VpZCwgc3RyaW5nICRlbnRpdHksIHN0cmluZyAkdGFyZ2V0KTogdm9pZDsNCg0KCS8qKg0KCSAqIEdldCB0aGUgZmlsZSBkZWZpbml0aW9uDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICRndWlkIFRoZSBmaWxlIGd1aWQNCgkgKg0KCSAqIEByZXR1cm4gRmlsZXxudWxsDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGRlZmluaXRpb24oc3RyaW5nICRndWlkKTogP0ZpbGU7DQoNCgkvKioNCgkgKiBHZXQgdGhlIGZpbGUgZGVmaW5pdGlvbiBhcyBhcnJheQ0KCSAqDQoJICogQHBhcmFtIHN0cmluZyAkZ3VpZCBUaGUgZmlsZSBndWlkDQoJICoNCgkgKiBAcmV0dXJuIGFycmF5fG51bGwNCgkgKiBAc2luY2UgNS4wLjINCgkgKg0KCSAqIEBkZXByZWNhdGVkIDUuMS40IFVzZSAkdGhpcy0+ZGVmaW5pdGlvbiguLi4pOyANCgkgKiBAcmVtb3ZhbCB4LjIgIChtZWFucyA0LjIsIDUuMiAsIDYuMiBpZiBKQ0IpDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGRvd25sb2FkKHN0cmluZyAkZ3VpZCk6ID9hcnJheTsNCg0KCS8qKg0KCSAqIERlbGV0ZSBhIGZpbGUuDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICRndWlkICBUaGUgZmlsZSBndWlkDQoJICoNCgkgKiBAcmV0dXJuIHZvaWQNCgkgKiBAc2luY2UgNS4wLjINCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKHN0cmluZyAkZ3VpZCk6IHZvaWQ7DQoNCgkvKioNCgkgKiBTZXQgdGhlIGN1cnJlbnQgYWN0aXZlIHRhYmxlDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICR0YWJsZSBUaGUgdGFibGUgdGhhdCBzaG91bGQgYmUgYWN0aXZlDQoJICoNCgkgKiBAcmV0dXJuIHNlbGYNCgkgKiBAc2luY2UgIDUuMC4yDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIHRhYmxlKHN0cmluZyAkdGFibGUpOiBzZWxmOw0KDQoJLyoqDQoJICogR2V0IHRoZSBjdXJyZW50IGFjdGl2ZSB0YWJsZQ0KCSAqDQoJICogQHJldHVybiAgc3RyaW5nDQoJICogQHNpbmNlICAgNS4wLjINCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZ2V0VGFibGUoKTogc3RyaW5nOw==', '{}', '{}', NULL, 1, '2025-12-09 11:29:06', 6, 0, 1),
|
||||
(1235, '0d159144-b553-4604-8f55-503985e22ec6', 'Joomla.File.Definition', 'Definition', 'final class', 'File Definition Class\r\n\r\nFile Definition (Database + Filesystem Hybrid).\r\n\r\nThis class extends the behaviour of the original temporary-file Definition\r\n by supporting database-driven fields while preserving the interface and\r\n behaviour of the base Definition class.\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIwDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '{\"0\":\"b62ec888-ce11-45c8-97ff-b4d9bea3d0bc\"}', '', '[[[NamespacePrefix]]]\\Joomla\\[[[ComponentNamespace]]].File.Definition', 0, '{}', '{}', '', '{\"use_selection0\":{\"use\":\"f11dc790-713e-4706-9a85-a318ed3ad56e\",\"as\":\"default\"}}', 'CS8qKg0KCSAqIE9yaWdpbmFsIGNsaWVudCBmaWxlbmFtZS4NCgkgKg0KCSAqIEB2YXIgICBzdHJpbmcNCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgc3RyaW5nICRuYW1lOw0KDQoJLyoqDQoJICogRmlsZXN5c3RlbSBmaWxlbmFtZSAoZGVyaXZlZCBmcm9tIGZpbGVfcGF0aCkuDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkZmlsZV9uYW1lOw0KDQoJLyoqDQoJICogUmFuZG9tIG5hbWluZyBmcmFnbWVudCAodW51c2VkIGluIERCIG1vZGUpLg0KCSAqDQoJICogQHZhciAgIHN0cmluZw0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBzdHJpbmcgJHJhbmRvbSA9ICcnOw0KDQoJLyoqDQoJICogRmlsZSBleHRlbnNpb24uDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkZXh0ZW5zaW9uOw0KDQoJLyoqDQoJICogRmlsZSBzaXplIGluIGJ5dGVzLg0KCSAqDQoJICogQHZhciAgIGludA0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBpbnQgJHNpemU7DQoNCgkvKioNCgkgKiBNSU1FIHR5cGUuDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkbWltZTsNCg0KCS8qKg0KCSAqIEZ1bGwgYWJzb2x1dGUgZmlsZXN5c3RlbSBwYXRoLg0KCSAqDQoJICogQHZhciAgIHN0cmluZw0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBzdHJpbmcgJGZpbGVfcGF0aDsNCg0KCS8qKg0KCSAqIEZpbGUgdHlwZSBpZGVudGlmaWVyLg0KCSAqDQoJICogQHZhciAgIHN0cmluZw0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBzdHJpbmcgJGZpbGVfdHlwZTsNCg0KCS8qKg0KCSAqIEVudGl0eSB0eXBlIG5hbWUuDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkZW50aXR5X3R5cGU7DQoNCgkvKioNCgkgKiBFbnRpdHkgaWRlbnRpZmllci4NCgkgKg0KCSAqIEB2YXIgICBzdHJpbmcNCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgc3RyaW5nICRlbnRpdHk7DQoNCgkvKioNCgkgKiBBY2Nlc3MgbGV2ZWwuDQoJICoNCgkgKiBAdmFyICAgaW50DQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIGludCAkYWNjZXNzOw0KDQoJLyoqDQoJICogR2xvYmlvbmljIEdVSUQuDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkZ3VpZDsNCg0KCS8qKg0KCSAqIFVzZXIgSUQgb2YgY3JlYXRvci4NCgkgKg0KCSAqIEB2YXIgICBpbnQNCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgaW50ICRjcmVhdGVkX2J5Ow0KDQoJLyoqDQoJICogQ29uc3RydWN0IGEgRGVmaW5pdGlvbiBvYmplY3QgdXNpbmcgZGF0YWJhc2UtbG9hZGVkIG1ldGFkYXRhLg0KCSAqDQoJICogQHBhcmFtICBhcnJheSAgJGRldGFpbHMgIEZpbGUgKyBEQiByZWNvcmQgbWV0YWRhdGEuDQoJICoNCgkgKiBAdGhyb3dzIFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24NCgkgKiBAdGhyb3dzIFxSdW50aW1lRXhjZXB0aW9uDQoJICoNCgkgKiBAc2luY2UgIDUuMS40DQoJICovDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRkZXRhaWxzKQ0KCXsNCgkJJHJlcXVpcmVkID0gWw0KCQkJJ25hbWUnLA0KCQkJJ2ZpbGVfdHlwZScsDQoJCQknZmlsZV9wYXRoJywNCgkJCSdlbnRpdHlfdHlwZScsDQoJCQknZW50aXR5JywNCgkJCSdhY2Nlc3MnLA0KCQkJJ2d1aWQnLA0KCQkJJ2NyZWF0ZWRfYnknDQoJCV07DQoNCgkJZm9yZWFjaCAoJHJlcXVpcmVkIGFzICRrZXkpDQoJCXsNCgkJCWlmICghaXNzZXQoJGRldGFpbHNbJGtleV0pIHx8ICRkZXRhaWxzWyRrZXldID09PSAnJykNCgkJCXsNCgkJCQl0aHJvdyBuZXcgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiRGVmaW5pdGlvbiBtaXNzaW5nIHJlcXVpcmVkIGtleTogeyRrZXl9Iik7DQoJCQl9DQoJCX0NCg0KCQkkdGhpcy0+bmFtZSAgICAgID0gKHN0cmluZykgJGRldGFpbHNbJ25hbWUnXTsNCgkJJHRoaXMtPmZpbGVfcGF0aCA9IChzdHJpbmcpICRkZXRhaWxzWydmaWxlX3BhdGgnXTsNCgkJJHRoaXMtPmZpbGVfbmFtZSA9IGJhc2VuYW1lKCR0aGlzLT5mdWxsX3BhdGgpOw0KDQoJCWlmICghaXNfZmlsZSgkdGhpcy0+ZmlsZV9wYXRoKSkNCgkJew0KCQkJdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCJGaWxlIGRvZXMgbm90IGV4aXN0IG9uIGRpc2s6IHskdGhpcy0+ZmlsZV9wYXRofSIpOw0KCQl9DQoNCgkJJHRoaXMtPmV4dGVuc2lvbiA9IChzdHJpbmcpICgkZGV0YWlsc1snZXh0ZW5zaW9uJ10gPz8gTWltZUhlbHBlcjo6ZXh0ZW5zaW9uKCR0aGlzLT5maWxlX3BhdGgpKTsNCgkJJHRoaXMtPnNpemUgICAgICA9IChpbnQpICAgICgkZGV0YWlsc1snc2l6ZSddICAgICAgPz8gZmlsZXNpemUoJHRoaXMtPmZpbGVfcGF0aCkpOw0KCQkkdGhpcy0+bWltZSAgICAgID0gKHN0cmluZykgKCRkZXRhaWxzWydtaW1lJ10gICAgICA/PyBNaW1lSGVscGVyOjptaW1lVHlwZSgkdGhpcy0+ZmlsZV9wYXRoKSk7DQoNCgkJJHRoaXMtPmZpbGVfdHlwZSAgID0gKHN0cmluZykgJGRldGFpbHNbJ2ZpbGVfdHlwZSddOw0KCQkkdGhpcy0+ZW50aXR5X3R5cGUgPSAoc3RyaW5nKSAkZGV0YWlsc1snZW50aXR5X3R5cGUnXTsNCgkJJHRoaXMtPmVudGl0eSAgICAgID0gKHN0cmluZykgJGRldGFpbHNbJ2VudGl0eSddOw0KCQLine truncated
|
||||
(1236, '8e2b3996-11a1-470d-b2be-2405c62ec192', 'Joomla.File.TypeDefinition', 'TypeDefinition', 'final class', 'File Type Definition Class\r\n\r\nRepresents a complete file type definition including upload rules, access rules, and metadata.\r\n\r\nThis class extends the original concept with additional\r\n JCB-driven configuration options such as GUID, access,\r\n quantity limits, and crop settings.\r\n\r\n@since 5.1.4', 2, 'LyoqDQogKiBAcGFja2FnZSAgICBKb29tbGEuQ29tcG9uZW50LkJ1aWxkZXINCiAqDQogKiBAY3JlYXRlZCAgICA0dGggU2VwdGVtYmVyLCAyMDIwDQogKiBAYXV0aG9yICAgICBMbGV3ZWxseW4gdmFuIGRlciBNZXJ3ZSA8aHR0cHM6Ly9kZXYudmRtLmlvPg0KICogQGdpdCAgICAgICAgSm9vbWxhIENvbXBvbmVudCBCdWlsZGVyIDxodHRwczovL2dpdC52ZG0uZGV2L2pvb21sYS9Db21wb25lbnQtQnVpbGRlcj4NCiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoQykgMjAxNSBWYXN0IERldmVsb3BtZW50IE1ldGhvZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIEBsaWNlbnNlICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcjsgc2VlIExJQ0VOU0UudHh0DQogKi8NCg==', '1.0.0', 0, '', '', '', '{\"0\":\"94376132-17b0-4fbd-8fc3-020a63fb15e1\"}', '', '[[[NamespacePrefix]]]\\Joomla\\[[[ComponentNamespace]]].File.TypeDefinition', 0, '{}', '{}', '', '{}', 'CS8qKg0KCSAqIFVuaXF1ZSBHVUlEIGZvciB0aGlzIHR5cGUgZGVmaW5pdGlvbi4NCgkgKg0KCSAqIEB2YXIgICBzdHJpbmcNCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgc3RyaW5nICRndWlkOw0KDQoJLyoqDQoJICogSHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGlzIHR5cGUuDQoJICoNCgkgKiBAdmFyICAgc3RyaW5nDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIHN0cmluZyAkbmFtZTsNCg0KCS8qKg0KCSAqIEFjY2VzcyBsZXZlbCByZXF1aXJlZCB0byB1cGxvYWQuDQoJICoNCgkgKiBAdmFyICAgaW50DQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkIGludCAkYWNjZXNzOw0KDQoJLyoqDQoJICogTWF4aW11bSBxdWFudGl0eSBhbGxvd2VkICgwIGFsbG93ZWQsIGJ1dCBtdXN0IGJlIG51bWVyaWMpLg0KCSAqDQoJICogQHZhciAgIGludA0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBpbnQgJHF1YW50aXR5Ow0KDQoJLyoqDQoJICogQWNjZXNzIGxldmVsIHJlcXVpcmVkIHRvIGRvd25sb2FkLg0KCSAqDQoJICogQHZhciAgIGludA0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBpbnQgJGRvd25sb2FkQWNjZXNzOw0KDQoJLyoqDQoJICogSFRNTCBmb3JtIHVwbG9hZCBmaWVsZCBuYW1lLg0KCSAqDQoJICogQHZhciAgIHN0cmluZw0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBzdHJpbmcgJGZpZWxkOw0KDQoJLyoqDQoJICogRmlsZSB0eXBlIGlkZW50aWZpZXIgKGZpbGUsIGltYWdlLCBtZWRpYSwgZG9jdW1lbnQpLg0KCSAqDQoJICogQHZhciAgIHN0cmluZw0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBzdHJpbmcgJHR5cGU7DQoNCgkvKioNCgkgKiBVcGxvYWQgZmlsdGVyIHN0cmF0ZWd5Lg0KCSAqDQoJICogQHZhciAgIHN0cmluZ3xudWxsDQoJICogQHNpbmNlIDUuMS40DQoJICovDQoJcHJvdGVjdGVkID9zdHJpbmcgJGZpbHRlcjsNCg0KCS8qKg0KCSAqIFRhcmdldCBmaWxlc3lzdGVtIHBhdGggd2hlcmUgZmlsZXMgYXJlIHN0b3JlZC4NCgkgKg0KCSAqIEB2YXIgICBzdHJpbmcNCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgc3RyaW5nICRwYXRoOw0KDQoJLyoqDQoJICogQWxsb3dlZCBmaWxlIGV4dGVuc2lvbnMuDQoJICoNCgkgKiBAdmFyICAgYXJyYXk8aW50LHN0cmluZz4NCgkgKiBAc2luY2UgNS4xLjQNCgkgKi8NCglwcm90ZWN0ZWQgYXJyYXkgJGZvcm1hdHM7DQoNCgkvKioNCgkgKiBDcm9wIGNvbmZpZ3VyYXRpb24gZm9yIGltYWdlcy4NCgkgKg0KCSAqIEB2YXIgICBhcnJheQ0KCSAqIEBzaW5jZSA1LjEuNA0KCSAqLw0KCXByb3RlY3RlZCBhcnJheSAkY3JvcDsNCg0KCS8qKg0KCSAqIENvbnN0cnVjdG9yLg0KCSAqDQoJICogUmVxdWlyZWQga2V5czoNCgkgKiAtIGd1aWQgKHN0cmluZykNCgkgKiAtIG5hbWUgKHN0cmluZykNCgkgKiAtIGFjY2VzcyAoaW50KQ0KCSAqIC0gcXVhbnRpdHkgKGludCkNCgkgKiAtIGRvd25sb2FkX2FjY2VzcyAoaW50KQ0KCSAqIC0gZmllbGQgKHN0cmluZykNCgkgKiAtIHR5cGUgKHN0cmluZykNCgkgKiAtIHBhdGggKHN0cmluZykNCgkgKg0KCSAqIE9wdGlvbmFsOg0KCSAqIC0gZmlsdGVyIChzdHJpbmd8bnVsbCkNCgkgKiAtIGZvcm1hdHMgKGFycmF5KQ0KCSAqIC0gY3JvcCAoYXJyYXkpDQoJICoNCgkgKiBAcGFyYW0gIGFycmF5ICAkY29uZmlnICBGdWxsIGNvbmZpZ3VyYXRpb24gbWFwLg0KCSAqDQoJICogQHRocm93cyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uDQoJICogQHNpbmNlICA1LjEuNA0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkY29uZmlnKQ0KCXsNCgkJJHJlcXVpcmVkID0gWw0KCQkJJ2d1aWQnLA0KCQkJJ25hbWUnLA0KCQkJJ2FjY2VzcycsDQoJCQkncXVhbnRpdHknLA0KCQkJJ2Rvd25sb2FkX2FjY2VzcycsDQoJCQknZmllbGQnLA0KCQkJJ3R5cGUnLA0KCQkJJ3BhdGgnLA0KCQldOw0KDQoJCSRub3RfZW1wdHkgPSBbDQoJCQknZ3VpZCcsDQoJCQknbmFtZScsDQoJCQknZmllbGQnLA0KCQkJJ3R5cGUnLA0KCQkJJ3BhdGgnDQoJCV07DQoNCgkJZm9yZWFjaCAoJHJlcXVpcmVkIGFzICRrZXkpDQoJCXsNCgkJCWlmICghYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkY29uZmlnKSkNCgkJCXsNCgkJCQl0aHJvdyBuZXcgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiTWlzc2luZyB0eXBlIGRlZmluaXRpb24gY29uZmlnOiB7JGtleX0iKTsNCgkJCX0NCg0KCQkJaWYgKGluX2FycmF5KCRrZXksICRub3RfZW1wdHksIHRydWUpICYmIHRyaW0oKHN0cmluZykgJGNvbmZpZ1ska2V5XSkgPT09ICcnKQ0KCQkJew0KCQkJCXRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJFbXB0eSB2YWx1ZSBub3QgYWxsb3dlZCBmb3IgY29uZmlnOiB7JGtleX0iKTsNCgkJCX0NCgkJfQ0KDQoJCSR0aGlzLT5ndWlkICAgICAgICAgICA9IChzdHJpbmcpICRjb25maWdbJ2d1aWQnXTsNCgkJJHRoaXMtPm5hbWUgICAgICAgICAgID0gKHN0cmluZykgJGNvbmZpZ1snbmFtZSddOw0KCQkkdGhpcy0+YWNjZXNzICAgICAgICAgPSAoaW50KSAkY29uZmlnWydhY2Nlc3MnXTsNCgkJJHRoaXMtPnF1YW50aXR5ICAgICAgID0gKGludCkgJGNvbmZpZ1sncXVhbnRpdHknXTsNCgkJJHRoaXMtPmRvd25sb2FkQWNjZXNzID0gKGludCkgJGNvbmZpZ1snZG93bmxvYWRfYWNjZXNzJ107DQoJCSR0aGlzLT5maWVsZCAgICAgICAgICA9IChzdHJpbmcpICRjb25maWdbJ2ZpZWxkJ107DQoJCSR0aGlzLT50eXBlICAgICAgICAgICA9IChzdHJpbmcpICRjb25maWdbJ3R5cGUnXTsNCgkJJHRoaXMtPnBhdGggICAgICAgICAgID0gKHN0cmluZykgJGLine truncated
|
||||
@@ -2995,7 +2995,7 @@ INSERT INTO `#__componentbuilder_field` (`id`, `add_css_view`, `add_css_views`,
|
||||
(3521, 0, 0, 0, 0, '', '', '', '', 255, '', 'VARCHAR', 0, '', '', 'State (dynamic list)', 'NULL', 0, 'a51dfc06-1b9b-4d0a-86ba-f705bcd40d4d', '\"<field\\n\\ttype=\\\"list\\\"\\n\\tname=\\\"state\\\"\\n\\tlabel=\\\"State\\\"\\n\\tdescription=\\\"Please select the Country to view its States.\\\"\\n\\tclass=\\\"list_class\\\"\\n\\tlayout=\\\"joomla.form.field.list-fancy-select\\\"\\n\\tmultiple=\\\"false\\\"\\n\\trequired=\\\"true\\\"\\n\\toption=\\\"|Select a Country\\\"\\n\\/>\"', 1, '2025-10-17 08:50:58', NULL, 1, 0, 0, 'e80df9fc-5f50-468d-888c-e19cd96c3db1', NULL, NULL, '', '', NULL),
|
||||
(3522, 0, 0, 0, 0, '', '', '', '', 255, '', 'VARCHAR', 0, '', '', 'City (dynamic list)', 'NULL', 0, 'a51dfc06-1b9b-4d0a-86ba-f705bcd40d4d', '\"<field\\n\\ttype=\\\"list\\\"\\n\\tname=\\\"city\\\"\\n\\tlabel=\\\"City\\\"\\n\\tdescription=\\\"Please select the the state to view its cities.\\\"\\n\\tclass=\\\"list_class\\\"\\n\\tlayout=\\\"joomla.form.field.list-fancy-select\\\"\\n\\tmultiple=\\\"false\\\"\\n\\toption=\\\"|Select a State\\\"\\n\\/>\"', 1, '2025-10-17 08:50:59', NULL, 1, 0, 0, 'd95dc35a-7467-4010-8d35-f3dab696a808', NULL, NULL, '', '', NULL),
|
||||
(3523, 0, 0, 0, 0, '', '', '', '', 'Other', 36, 'VARCHAR', 2, '', '', 'Look (address-modal)', 'NULL', 0, 'a1cdb0a5-517c-425c-998a-333e92af3e32', '\"<field\\n\\ttype=\\\"ModalSelect\\\"\\n\\tname=\\\"look\\\"\\n\\tlabel=\\\"Look\\\"\\n\\tsql_title_table=\\\"#__###component###_look\\\"\\n\\tsql_title_column=\\\"name\\\"\\n\\tsql_title_key=\\\"guid\\\"\\n\\turlSelect=\\\"index.php?option=com_###component###&view=looks&layout=modal&tmpl=component&titleKey=guid\\\"\\n\\turlNew=\\\"index.php?option=com_###component###&task=look.add&layout=modal&tmpl=component\\\"\\n\\turlEdit=\\\"index.php?option=com_###component###&task=look.edit&guid={id}&layout=modal&tmpl=component&titleKey=guid\\\"\\n\\ttitleSelect=\\\"Select a Look\\\"\\n\\ttitleNew=\\\"New Look\\\"\\n\\ttitleEdit=\\\"Edit Look\\\"\\n\\ticonSelect=\\\"icon-copy\\\"\\n\\tselect=\\\"true\\\"\\n\\tnew=\\\"true\\\"\\n\\tedit=\\\"true\\\"\\n\\tclear=\\\"true\\\"\\n\\tclass=\\\"input-large\\\"\\n\\tdescription=\\\"Please select the Look to which this address is linked.\\\"\\n\\thint=\\\"Select a Look\\\"\\n\\/>\"', 1, '2025-10-17 10:23:49', '2025-10-17 10:23:52', 2, 0, 1096, 'aaa5761f-3270-43ce-a95b-db1a22f8c88d', NULL, NULL, '', '', NULL),
|
||||
(3568, 0, 0, 0, 0, '', '', '', '', '', '', 'TEXT', '', '', '', 'Addresses (look-subform)', 'NULL', 6, '7139f2c8-a70a-46a6-bbe3-4eefe54ca515', '\"<field\\n\\ttype=\\\"subform\\\"\\n\\tname=\\\"addresses\\\"\\n\\tlabel=\\\"Addresses\\\"\\n\\tlayout=\\\"joomla.form.field.subform.repeatable\\\"\\n\\tmultiple=\\\"true\\\"\\n\\tbuttons=\\\"add,remove\\\"\\n\\tfields=\\\"fb3115a1-e579-401a-9b53-9469cd4739e4,874b0de4-46fb-4f4a-aa8a-d95c2e275a09,e5a082f3-54ab-4ab6-8691-afd195346d77,cc0e70fa-bdda-474c-95c1-0ad5f1e9ec3c,1c8bc5a9-06ab-429f-99d7-0b48e6b2b118,e80df9fc-5f50-468d-888c-e19cd96c3db1,d95dc35a-7467-4010-8d35-f3dab696a808,e769beb6-f761-4885-8d35-eb2f0be55ee6\\\"\\n\\ticon=\\\"list\\\"\\n\\tmax=\\\"10\\\"\\n\\tmin=\\\"0\\\"\\n\\/>\"', 1, '2025-12-22 12:51:56', '2025-12-22 12:52:00', 2, 0, 1105, '71e5f1b0-7c81-4fbb-8a05-e3949212f2ed', 'W1tbZmllbGRdXV0gPSBTdXBlcl9fXzlkNzZiOGRjXzM4ODNfNDc1NV9iMTFjXzEzMWQxOWNhOGE1M19fX1Bvd2VyOjpfKCdEYXRhLlN1YmZvcm0nKS0+dGFibGUoJ2FkZHJlc3MnKS0+Z2V0KCRpdGVtLT5ndWlkID8/ICcnICwnbG9vaycsICdhZGRyZXNzZXMnLCBbJ2d1aWQnLCd0eXBlJywnbGluZV9vbmUnLCdsaW5lX3R3bycsJ2NvdW50cnknLCdzdGF0ZScsJ2NpdHknLCdwb3N0YWwnXSk7', 'aWYgKGlzc2V0KFtbW2ZpZWxkXV1dKSkNCnsNCglTdXBlcl9fXzlkNzZiOGRjXzM4ODNfNDc1NV9iMTFjXzEzMWQxOWNhOGE1M19fX1Bvd2VyOjpfKCdEYXRhLlN1YmZvcm0nKS0+dGFibGUoJ2FkZHJlc3MnKS0+c2V0KFtbW2ZpZWxkXV1dID8/IFtdLCAnZ3VpZCcsICdsb29rJywgJGRhdGFbJ2d1aWQnXSA/PyAnJyk7DQp9', '', '', NULL);
|
||||
(3568, 0, 0, 0, 0, '', '', '', '', '', '', 'TEXT', '', '', '', 'Addresses (look-subform)', 'NULL', 6, '7139f2c8-a70a-46a6-bbe3-4eefe54ca515', '\"<field\\n\\ttype=\\\"subform\\\"\\n\\tname=\\\"addresses\\\"\\n\\tlabel=\\\"Addresses\\\"\\n\\tlayout=\\\"joomla.form.field.subform.repeatable\\\"\\n\\tmultiple=\\\"true\\\"\\n\\tbuttons=\\\"add,remove\\\"\\n\\tfields=\\\"fb3115a1-e579-401a-9b53-9469cd4739e4,874b0de4-46fb-4f4a-aa8a-d95c2e275a09,e5a082f3-54ab-4ab6-8691-afd195346d77,cc0e70fa-bdda-474c-95c1-0ad5f1e9ec3c,1c8bc5a9-06ab-429f-99d7-0b48e6b2b118,e80df9fc-5f50-468d-888c-e19cd96c3db1,d95dc35a-7467-4010-8d35-f3dab696a808,e769beb6-f761-4885-8d35-eb2f0be55ee6\\\"\\n\\ticon=\\\"list\\\"\\n\\tmax=\\\"10\\\"\\n\\tmin=\\\"0\\\"\\n\\/>\"', 1, '2025-12-22 12:51:56', '2026-03-23 09:10:24', 6, 0, 1105, '71e5f1b0-7c81-4fbb-8a05-e3949212f2ed', 'W1tbZmllbGRdXV0gPSBTdXBlcl9fXzlkNzZiOGRjXzM4ODNfNDc1NV9iMTFjXzEzMWQxOWNhOGE1M19fX1Bvd2VyOjpfKCdEYXRhLlN1YmZvcm0nKS0+dGFibGUoJ2FkZHJlc3MnKS0+Z2V0KCRpdGVtLT5ndWlkID8/ICcnICwnbG9vaycsICdhZGRyZXNzZXMnLCBbJ2d1aWQnLCd0eXBlJywnbGluZV9vbmUnLCdsaW5lX3R3bycsJ2NvdW50cnknLCdzdGF0ZScsJ2NpdHknLCdwb3N0YWwnXSk7', 'aWYgKGlzc2V0KFtbW2ZpZWxkXV1dKSkNCnsNCglTdXBlcl9fXzlkNzZiOGRjXzM4ODNfNDc1NV9iMTFjXzEzMWQxOWNhOGE1M19fX1Bvd2VyOjpfKCdEYXRhLlN1YmZvcm0nKS0+dGFibGUoJ2FkZHJlc3MnKS0+c2V0KFtbW2ZpZWxkXV1dID8/IFtdLCAnZ3VpZCcsICdsb29rJywgJGRhdGFbJ2d1aWQnXSA/PyAnJyk7DQp9', '', '', NULL);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -5339,57 +5339,86 @@ class AjaxModel extends ListModel
|
||||
}
|
||||
|
||||
// Used in admin_fields_relations
|
||||
public function getCodeGlueOptions($listfield, $joinfields, $type, $area)
|
||||
/**
|
||||
* Get the code glue options string.
|
||||
*
|
||||
* @param string $listfield The main list field GUID.
|
||||
* @param string $joinfields A comma-separated list of join field GUIDs or 'none'.
|
||||
* @param int $type The glue type.
|
||||
* @param int $area The target area.
|
||||
*
|
||||
* @return string|false
|
||||
* @since 5.3.10
|
||||
*/
|
||||
public function getCodeGlueOptions(string $listfield, string $joinfields, int $type, int $area)
|
||||
{
|
||||
// CONCATENATE GLUE
|
||||
if ($type == 1)
|
||||
if ($type === 1)
|
||||
{
|
||||
// MODEL
|
||||
if ($area == 1 || $area == 3)
|
||||
if ($area === 1 || $area === 3)
|
||||
{
|
||||
return ', ';
|
||||
}
|
||||
|
||||
// VIEW
|
||||
elseif ($area == 2)
|
||||
if ($area === 2)
|
||||
{
|
||||
return '<br />';
|
||||
}
|
||||
}
|
||||
// CUSTOM CODE
|
||||
elseif ($type == 2)
|
||||
elseif ($type === 2)
|
||||
{
|
||||
// build fields array
|
||||
if ('none' !== $joinfields)
|
||||
if ($joinfields !== 'none')
|
||||
{
|
||||
$fields = array_map( function ($guid) {
|
||||
return (string) $guid;
|
||||
}, (array) explode(',', $joinfields));
|
||||
// add the list field to array
|
||||
array_unshift($fields, (string) $listfield);
|
||||
$fields = array_filter(
|
||||
array_map(
|
||||
static function ($guid) {
|
||||
return trim((string) $guid);
|
||||
},
|
||||
explode(',', $joinfields)
|
||||
),
|
||||
static function ($guid) {
|
||||
return $guid !== '';
|
||||
}
|
||||
);
|
||||
|
||||
array_unshift($fields, $listfield);
|
||||
}
|
||||
else
|
||||
{
|
||||
$fields = array((string) $listfield);
|
||||
$fields = [$listfield];
|
||||
}
|
||||
// get field names
|
||||
$names = array_map( function ($guid) {
|
||||
return '[' . $guid . ']=> ' . GetHelper::var('field', $guid, 'guid', 'name');
|
||||
}, $fields);
|
||||
|
||||
$names = array_map(
|
||||
static function ($guid) {
|
||||
return '[' . $guid . ']=> ' . GetHelper::var('field', $guid, 'guid', 'name');
|
||||
},
|
||||
$fields
|
||||
);
|
||||
|
||||
// MODEL
|
||||
if ($area == 1 || $area == 3)
|
||||
if ($area === 1 || $area === 3)
|
||||
{
|
||||
// create note
|
||||
$note = "// ". implode('; ', $names);
|
||||
return $note . PHP_EOL . '$item->{'.(string)$listfield.'} = $item->{' . implode("} . ', ' . \$item->{", $fields) . '};';
|
||||
$note = '// ' . implode('; ', $names);
|
||||
|
||||
return $note . PHP_EOL
|
||||
. '$item->{' . $listfield . '} = $item->{'
|
||||
. implode("} . ', ' . \$item->{", $fields)
|
||||
. '};';
|
||||
}
|
||||
|
||||
// VIEW
|
||||
elseif ($area == 2)
|
||||
if ($area === 2)
|
||||
{
|
||||
// create note
|
||||
$note = "<!-- " . implode('; ', $names) . " -->";
|
||||
return '[field=' . implode("]<br />[field=", $fields). ']' . PHP_EOL . PHP_EOL . $note;
|
||||
$note = '<!-- ' . implode('; ', $names) . ' -->';
|
||||
|
||||
return '[field=' . implode(']<br />[field=', $fields) . ']'
|
||||
. PHP_EOL . PHP_EOL . $note;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,45 +18,57 @@ use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
?>
|
||||
<div id="j-main-container">
|
||||
<div class="main-card">
|
||||
<?php echo Html::_('uitab.startTabSet', 'cpanel_tab', array('active' => 'cpanel')); ?>
|
||||
<div id="j-main-container" class="container-fluid">
|
||||
<div class="main-card jcb-dashboard">
|
||||
<div class="jcb-dashboard__content">
|
||||
<?php echo Html::_('uitab.startTabSet', 'cpanel_tab', array('active' => 'cpanel')); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'cpanel', Text::_('cPanel', true)); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<?php echo $this->loadTemplate('main');?>
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'cpanel', Text::_('cPanel', true)); ?>
|
||||
<div class="row g-4 align-items-start">
|
||||
<div class="col-12 col-xxl-9">
|
||||
<div class="jcb-dashboard__main d-flex flex-column gap-4">
|
||||
<?php echo $this->loadTemplate('main');?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<?php echo $this->loadTemplate('vdm');?>
|
||||
<div class="col-12 col-xxl-3">
|
||||
<div class="jcb-dashboard__sidebar d-flex flex-column gap-4">
|
||||
<?php echo $this->loadTemplate('vdm');?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'doc', Text::_('Doc', true)); ?>
|
||||
<div class="row g-4 align-items-start">
|
||||
<div class="col-12">
|
||||
<div class="jcb-dashboard__tab d-flex flex-column gap-4">
|
||||
<?php echo $this->loadTemplate('doc_start_here');?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'notice_board', Text::_('Notice Board', true)); ?>
|
||||
<div class="row g-4 align-items-start">
|
||||
<div class="col-12">
|
||||
<div class="jcb-dashboard__tab d-flex flex-column gap-4">
|
||||
<?php echo $this->loadTemplate('notice_board_vast_development_method');?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'readme', Text::_('Readme', true)); ?>
|
||||
<div class="row g-4 align-items-start">
|
||||
<div class="col-12">
|
||||
<div class="jcb-dashboard__tab d-flex flex-column gap-4">
|
||||
<?php echo $this->loadTemplate('readme_information');?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.endTabSet'); ?>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'doc', Text::_('Doc', true)); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<?php echo $this->loadTemplate('doc_start_here');?>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'notice_board', Text::_('Notice Board', true)); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<?php echo $this->loadTemplate('notice_board_vast_development_method');?>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'cpanel_tab', 'readme', Text::_('Readme', true)); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<?php echo $this->loadTemplate('readme_information');?>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo Html::_('uitab.endTab'); ?>
|
||||
|
||||
<?php echo Html::_('uitab.endTabSet'); ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -15,18 +15,33 @@ use Joomla\CMS\Language\Text;
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
?>
|
||||
<?php if(isset($this->icons['main']) && is_array($this->icons['main'])) :?>
|
||||
<?php foreach($this->icons['main'] as $icon): ?>
|
||||
<div class="dashboard-wraper">
|
||||
<div class="dashboard-content">
|
||||
<a class="icon" href="<?php echo $icon->url; ?>">
|
||||
<img alt="<?php echo $icon->alt; ?>" src="components/com_componentbuilder/assets/images/icons/<?php echo $icon->image; ?>">
|
||||
<span class="dashboard-title"><?php echo Text::_($icon->name); ?></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<div class="clearfix"></div>
|
||||
<?php else: ?>
|
||||
<div class="alert alert-error"><h4 class="alert-heading"><?php echo Text::_("Permission denied, or not correctly set"); ?></h4><div class="alert-message"><?php echo Text::_("Please notify your System Administrator if result is unexpected."); ?></div></div>
|
||||
<?php if (isset($this->icons['main']) && is_array($this->icons['main']) && !empty($this->icons['main'])) : ?>
|
||||
<div class="dashboard-icons" role="list">
|
||||
<?php foreach ($this->icons['main'] as $icon) : ?>
|
||||
<div class="dashboard-icon-item" role="listitem">
|
||||
<a class="dashboard-icon-link" href="<?php echo $icon->url; ?>">
|
||||
<span class="dashboard-icon-image">
|
||||
<img
|
||||
alt="<?php echo $icon->alt; ?>"
|
||||
src="components/com_componentbuilder/assets/images/icons/<?php echo $icon->image; ?>"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
>
|
||||
</span>
|
||||
<span class="dashboard-icon-title">
|
||||
<?php echo Text::_($icon->name); ?>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div class="alert alert-danger">
|
||||
<h4 class="alert-heading">
|
||||
<?php echo Text::_("Permission denied, or not correctly set"); ?>
|
||||
</h4>
|
||||
<div>
|
||||
<?php echo Text::_("Please notify your System Administrator if result is unexpected."); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@@ -16,26 +16,69 @@ use VDM\Joomla\Utilities\ArrayHelper;
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
?>
|
||||
<img alt="<?php echo Text::_('COM_COMPONENTBUILDER'); ?>" width="100%" src="components/com_componentbuilder/assets/images/vdm-component.jpg">
|
||||
<ul class="list-striped">
|
||||
<li><b><?php echo Text::_('COM_COMPONENTBUILDER_VERSION'); ?>:</b> <?php echo $this->manifest->version; ?> <span class="update-notice" id="component-update-notice"></span></li>
|
||||
<li><b><?php echo Text::_('COM_COMPONENTBUILDER_DATE'); ?>:</b> <?php echo $this->manifest->creationDate; ?></li>
|
||||
<li><b><?php echo Text::_('COM_COMPONENTBUILDER_AUTHOR'); ?>:</b> <a href="mailto:<?php echo $this->manifest->authorEmail; ?>"><?php echo $this->manifest->author; ?></a></li>
|
||||
<li><b><?php echo Text::_('COM_COMPONENTBUILDER_WEBSITE'); ?>:</b> <a href="<?php echo $this->manifest->authorUrl; ?>" target="_blank"><?php echo $this->manifest->authorUrl; ?></a></li>
|
||||
<li><b><?php echo Text::_('COM_COMPONENTBUILDER_LICENSE'); ?>:</b> <?php echo $this->manifest->license; ?></li>
|
||||
<li><b><?php echo $this->manifest->copyright; ?></b></li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
<?php if(ArrayHelper::check($this->contributors)): ?>
|
||||
<?php if(count($this->contributors) > 1): ?>
|
||||
<h3><?php echo Text::_('COM_COMPONENTBUILDER_CONTRIBUTORS'); ?></h3>
|
||||
<?php else: ?>
|
||||
<h3><?php echo Text::_('COM_COMPONENTBUILDER_CONTRIBUTOR'); ?></h3>
|
||||
<?php endif; ?>
|
||||
<ul class="list-striped">
|
||||
<?php foreach($this->contributors as $contributor): ?>
|
||||
<li><b><?php echo $contributor['title']; ?>:</b> <?php echo $contributor['name']; ?></li>
|
||||
<?php endforeach; ?>
|
||||
<div class="com-componentbuilder-dashboard-details">
|
||||
<div class="com-componentbuilder-dashboard-details__image mb-4">
|
||||
<img
|
||||
class="img-fluid w-100"
|
||||
alt="<?php echo Text::_('COM_COMPONENTBUILDER'); ?>"
|
||||
src="components/com_componentbuilder/assets/images/vdm-component.jpg"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
>
|
||||
</div>
|
||||
<ul class="list-group list-group-flush mb-4">
|
||||
<li class="list-group-item d-flex flex-wrap justify-content-between gap-2">
|
||||
<span>
|
||||
<strong><?php echo Text::_('COM_COMPONENTBUILDER_VERSION'); ?>:</strong>
|
||||
<?php echo $this->manifest->version; ?>
|
||||
</span>
|
||||
<span class="update-notice" id="component-update-notice"></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Text::_('COM_COMPONENTBUILDER_DATE'); ?>:</strong>
|
||||
<?php echo $this->manifest->creationDate; ?>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Text::_('COM_COMPONENTBUILDER_AUTHOR'); ?>:</strong>
|
||||
<a href="mailto:<?php echo $this->manifest->authorEmail; ?>">
|
||||
<?php echo $this->manifest->author; ?>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Text::_('COM_COMPONENTBUILDER_WEBSITE'); ?>:</strong>
|
||||
<a
|
||||
href="<?php echo $this->manifest->authorUrl; ?>"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<?php echo $this->manifest->authorUrl; ?>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo Text::_('COM_COMPONENTBUILDER_LICENSE'); ?>:</strong>
|
||||
<?php echo $this->manifest->license; ?>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo $this->manifest->copyright; ?></strong>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
<?php endif; ?>
|
||||
<?php if (ArrayHelper::check($this->contributors)) : ?>
|
||||
<div class="com-componentbuilder-dashboard-details__contributors mt-4">
|
||||
<h3 class="h5 mb-3">
|
||||
<?php if (count($this->contributors) > 1) : ?>
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_CONTRIBUTORS'); ?>
|
||||
<?php else : ?>
|
||||
<?php echo Text::_('COM_COMPONENTBUILDER_CONTRIBUTOR'); ?>
|
||||
<?php endif; ?>
|
||||
</h3>
|
||||
<ul class="list-group list-group-flush">
|
||||
<?php foreach ($this->contributors as $contributor) : ?>
|
||||
<li class="list-group-item">
|
||||
<strong><?php echo $contributor['title']; ?>:</strong>
|
||||
<?php echo $contributor['name']; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
Reference in new issue
Block a user