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

|
||||

|
||||
|
||||
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!
|
||||
|
||||
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.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 (3.2.5) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||
|
||||
@ -144,14 +144,14 @@ TODO
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 16th August, 2024
|
||||
+ *Version*: 3.2.3
|
||||
+ *Last Build*: 14th February, 2025
|
||||
+ *Version*: 3.2.5
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **831771**
|
||||
+ *Field count*: **2094**
|
||||
+ *File count*: **5670**
|
||||
+ *Folder count*: **496**
|
||||
+ *Line count*: **885901**
|
||||
+ *Field count*: **2098**
|
||||
+ *File count*: **5977**
|
||||
+ *Folder count*: **507**
|
||||
|
||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||
|
||||

|
||||

|
||||
|
||||
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!
|
||||
|
||||
You can install it quite easily and with no limitations. On [gitea](https://git.vdm.dev/joomla/Component-Builder/tags) is the latest release (3.2.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 (3.2.5) with **ALL** its features and **ALL** concepts totally open-source and free!
|
||||
|
||||
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
|
||||
|
||||
@ -144,14 +144,14 @@ TODO
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
+ *First Build*: 30th April, 2015
|
||||
+ *Last Build*: 16th August, 2024
|
||||
+ *Version*: 3.2.3
|
||||
+ *Last Build*: 14th February, 2025
|
||||
+ *Version*: 3.2.5
|
||||
+ *Copyright*: Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
|
||||
+ *Line count*: **831771**
|
||||
+ *Field count*: **2094**
|
||||
+ *File count*: **5670**
|
||||
+ *Folder count*: **496**
|
||||
+ *Line count*: **885901**
|
||||
+ *Field count*: **2098**
|
||||
+ *File count*: **5977**
|
||||
+ *Folder count*: **507**
|
||||
|
||||
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](https://www.joomlacomponentbuilder.com).
|
||||
> Developed by [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
|
@ -288,6 +288,9 @@
|
||||
<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="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.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" />
|
||||
@ -501,6 +504,7 @@
|
||||
<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="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.batch" title="COM_COMPONENTBUILDER_POWERS_BATCH_USE" description="COM_COMPONENTBUILDER_POWERS_BATCH_USE_DESC" />
|
||||
|
@ -16,4 +16,97 @@ html, body {
|
||||
.jcb-sponsor-banner {
|
||||
-webkit-box-shadow: 0 0 7px 1px #f0f0f0;
|
||||
box-shadow: 0 0 7px 1px #f0f0f0;
|
||||
}
|
||||
|
||||
/* Spinning effect within the mastadon-display-block */
|
||||
.mastadon-display-block .spinning i {
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
.mastadon-display-block .enlarge-and-disappear {
|
||||
animation: enlarge-fade-out 1s forwards;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes enlarge-fade-out {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
transform: scale(2);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Placeholder container scoped to mastadon-display-block */
|
||||
.mastadon-display-block .placeholder {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
margin-bottom: 16px;
|
||||
padding: 16px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.mastadon-display-block .placeholder-line {
|
||||
height: 12px;
|
||||
background-color: #f0f0f0;
|
||||
border-radius: 4px;
|
||||
animation: pulse 1.5s infinite;
|
||||
}
|
||||
|
||||
.mastadon-display-block .placeholder-line:nth-child(1) {
|
||||
width: 80%;
|
||||
}
|
||||
.mastadon-display-block .placeholder-line:nth-child(2) {
|
||||
width: 60%;
|
||||
}
|
||||
.mastadon-display-block .placeholder-line:nth-child(3) {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.mastadon-display-block .placeholder-circle {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background-color: #f0f0f0;
|
||||
border-radius: 50%;
|
||||
animation: pulse 1.5s infinite;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.5;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.mastadon-display-block .loading {
|
||||
visibility: visible;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.social-icon-details {
|
||||
min-height: 50px;
|
||||
width: 100%;
|
||||
padding: 5px;
|
||||
box-sizing: border-box;
|
||||
font-size: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
302
admin/assets/js/compiler.js
Normal file
302
admin/assets/js/compiler.js
Normal file
@ -0,0 +1,302 @@
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
/* JS Document */
|
||||
class MastodonFeed {
|
||||
constructor(containerId, refreshButtonId) {
|
||||
this.container = document.getElementById(containerId);
|
||||
this.refreshButton = document.getElementById(refreshButtonId);
|
||||
|
||||
// Get settings from data attributes
|
||||
this.mastodonInstance = this.container.dataset.instance;
|
||||
this.accountId = this.container.dataset.accountId;
|
||||
this.postCount = parseInt(this.container.dataset.postCount) || 5;
|
||||
|
||||
this.cacheKey = "mastodon-feed-cache";
|
||||
this.cacheExpiration = 24 * 60 * 60 * 1000; // 24 hours in milliseconds
|
||||
|
||||
// Initialize the feed
|
||||
this.initFeed();
|
||||
|
||||
// Attach event listener for the refresh button
|
||||
this.refreshButton.addEventListener("click", () => this.clearCacheAndReload());
|
||||
}
|
||||
|
||||
async initFeed() {
|
||||
const cachedData = this.getCachedData();
|
||||
|
||||
if (cachedData) {
|
||||
this.renderFeed(cachedData);
|
||||
} else {
|
||||
await this.loadFeed();
|
||||
}
|
||||
}
|
||||
|
||||
getCachedData() {
|
||||
const cache = localStorage.getItem(this.cacheKey);
|
||||
if (!cache) return null;
|
||||
|
||||
const parsedCache = JSON.parse(cache);
|
||||
const now = new Date().getTime();
|
||||
|
||||
if (now - parsedCache.timestamp > this.cacheExpiration) {
|
||||
// Cache is expired
|
||||
this.clearCache();
|
||||
return null;
|
||||
}
|
||||
|
||||
return parsedCache.data;
|
||||
}
|
||||
|
||||
setCachedData(data) {
|
||||
const cache = {
|
||||
timestamp: new Date().getTime(),
|
||||
data: data,
|
||||
};
|
||||
localStorage.setItem(this.cacheKey, JSON.stringify(cache));
|
||||
}
|
||||
|
||||
clearCache() {
|
||||
localStorage.removeItem(this.cacheKey);
|
||||
}
|
||||
|
||||
async loadFeed() {
|
||||
try {
|
||||
const response = await fetch(`${this.mastodonInstance}/api/v1/accounts/${this.accountId}/statuses?limit=${this.postCount}`);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Failed to fetch Mastodon feed: ${response.statusText}`);
|
||||
}
|
||||
|
||||
const posts = await response.json();
|
||||
this.setCachedData(posts); // Cache the data
|
||||
this.renderFeed(posts);
|
||||
} catch (error) {
|
||||
console.error("Error loading Mastodon feed:", error);
|
||||
this.container.innerHTML = `<div class="alert alert-danger">Error loading feed. Please try again later.</div>`;
|
||||
}
|
||||
}
|
||||
|
||||
renderFeed(posts) {
|
||||
// Clear existing content
|
||||
this.container.innerHTML = "";
|
||||
|
||||
posts.forEach(post => {
|
||||
if (!post.content) return; // Ignore posts with no content
|
||||
|
||||
// Create post element
|
||||
const listItem = document.createElement("div");
|
||||
listItem.className = "well well-small";
|
||||
|
||||
const postContent = document.createElement("div");
|
||||
|
||||
const user = post.account;
|
||||
const avatar = user.avatar_static;
|
||||
const displayName = user.display_name || user.username;
|
||||
|
||||
// User header
|
||||
const header = document.createElement("div");
|
||||
header.className = "media";
|
||||
|
||||
const avatarLink = document.createElement("a");
|
||||
avatarLink.href = user.url;
|
||||
avatarLink.className = "pull-left";
|
||||
|
||||
const avatarImg = document.createElement("img");
|
||||
avatarImg.src = avatar;
|
||||
avatarImg.alt = displayName;
|
||||
avatarImg.className = "img-circle";
|
||||
avatarImg.style.width = "40px";
|
||||
|
||||
avatarLink.appendChild(avatarImg);
|
||||
|
||||
const userInfo = document.createElement("div");
|
||||
userInfo.className = "media-body";
|
||||
|
||||
const nameLink = document.createElement("a");
|
||||
nameLink.href = user.url;
|
||||
nameLink.className = "muted";
|
||||
nameLink.textContent = displayName;
|
||||
|
||||
const username = document.createElement("span");
|
||||
username.className = "small muted";
|
||||
username.textContent = ` (@${user.username})`;
|
||||
|
||||
const userHeader = document.createElement("h5");
|
||||
userHeader.appendChild(nameLink);
|
||||
userHeader.appendChild(username);
|
||||
|
||||
userInfo.appendChild(userHeader);
|
||||
|
||||
header.appendChild(avatarLink);
|
||||
header.appendChild(userInfo);
|
||||
|
||||
// Post content
|
||||
const content = document.createElement("p");
|
||||
content.innerHTML = post.content;
|
||||
|
||||
// Interactions
|
||||
const interactions = document.createElement("div");
|
||||
interactions.className = "btn-group";
|
||||
|
||||
// View Post link
|
||||
const viewPost = document.createElement("a");
|
||||
viewPost.href = post.url;
|
||||
viewPost.className = "btn btn-small btn-primary";
|
||||
viewPost.innerHTML = `View Post
|
||||
<i class="icon-comments"></i> ${post.replies_count}
|
||||
<i class="icon-thumbs-up"></i> ${post.favourites_count}
|
||||
<i class="icon-loop"></i> ${post.reblogs_count}`;
|
||||
interactions.appendChild(viewPost);
|
||||
|
||||
// Join Me link
|
||||
const joinLink = document.createElement("a");
|
||||
joinLink.href = "https://joomla.social/invite/gzAvC48K";
|
||||
joinLink.className = "btn btn-small btn-success";
|
||||
joinLink.textContent = "Join Me";
|
||||
interactions.appendChild(joinLink);
|
||||
|
||||
// Assemble post
|
||||
postContent.appendChild(header);
|
||||
postContent.appendChild(content);
|
||||
postContent.appendChild(interactions);
|
||||
|
||||
listItem.appendChild(postContent);
|
||||
this.container.appendChild(listItem);
|
||||
this.container.classList.remove('loading');
|
||||
});
|
||||
}
|
||||
|
||||
clearCacheAndReload() {
|
||||
// Add spinning effect to the refresh button
|
||||
this.refreshButton.classList.add('spinning');
|
||||
|
||||
// Show placeholder content
|
||||
this.container.classList.add('loading');
|
||||
this.container.innerHTML = this.generatePlaceholder();
|
||||
|
||||
// Clear cache and reload feed
|
||||
this.clearCache();
|
||||
|
||||
// Wait for 3 seconds
|
||||
setTimeout(() => {
|
||||
// Enlarge and fade out the refresh button
|
||||
this.refreshButton.classList.add('enlarge-and-disappear');
|
||||
|
||||
// After the animation, reset the button and content
|
||||
setTimeout(() => {
|
||||
this.refreshButton.classList.remove('spinning', 'enlarge-and-disappear');
|
||||
this.refreshButton.style.display = '';
|
||||
|
||||
// Remove placeholder and restore actual content
|
||||
this.loadFeed();
|
||||
}, 1000); // Animation time for fade-out
|
||||
}, 3000); // Spinning duration
|
||||
}
|
||||
|
||||
generatePlaceholder() {
|
||||
let placeholders = '';
|
||||
for (let i = 0; i < this.postCount; i++) {
|
||||
placeholders += `
|
||||
<div class="placeholder">
|
||||
<div class="placeholder-circle"></div>
|
||||
<div class="placeholder-line"></div>
|
||||
<div class="placeholder-line"></div>
|
||||
<div class="placeholder-line"></div>
|
||||
<div class="placeholder-line"></div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
return placeholders;
|
||||
}
|
||||
}
|
||||
|
||||
class IconWaveAnimator {
|
||||
constructor(containerId, detailsId) {
|
||||
this.details = document.getElementById(detailsId);
|
||||
this.container = document.getElementById(containerId);
|
||||
this.icons = this.container.querySelectorAll("i");
|
||||
this.links = this.container.querySelectorAll("a");
|
||||
this.init();
|
||||
}
|
||||
|
||||
init() {
|
||||
// set the icon hover events
|
||||
this.setupHoverEvents();
|
||||
|
||||
// Random chance to do nothing (1 out of 10)
|
||||
if (Math.random() < 0.1) return;
|
||||
|
||||
// Randomize the initial delay before starting
|
||||
const initialDelay = Math.random() * 2000 + 2000; // 2–4 seconds
|
||||
setTimeout(() => {
|
||||
this.randomBehavior();
|
||||
}, initialDelay);
|
||||
|
||||
// Occasionally trigger a second wave after 10 seconds
|
||||
if (Math.random() > 0.5) {
|
||||
setTimeout(() => {
|
||||
this.mexicanWave(false); // Reverse wave
|
||||
}, 10000);
|
||||
}
|
||||
}
|
||||
|
||||
mexicanWave(forward = true) {
|
||||
let delay = 0;
|
||||
const iconsArray = Array.from(this.icons);
|
||||
|
||||
(forward ? iconsArray : iconsArray.reverse()).forEach((icon) => {
|
||||
setTimeout(() => {
|
||||
icon.style.transition = "transform 0.3s ease-in-out";
|
||||
icon.style.transform = "scale(1.3)";
|
||||
setTimeout(() => {
|
||||
icon.style.transform = "scale(1)";
|
||||
}, 300);
|
||||
}, delay);
|
||||
delay += 150; // Stagger the effect for the wave
|
||||
});
|
||||
}
|
||||
|
||||
randomBehavior() {
|
||||
const waveDirection = Math.random() > 0.5 ? "forward" : "backward";
|
||||
const waveCount = Math.floor(Math.random() * 10) + 1; // 1 to 5 waves
|
||||
const interval = Math.random() * 2000 + 3000; // 3 to 5 seconds
|
||||
|
||||
let executedCount = 0;
|
||||
const intervalId = setInterval(() => {
|
||||
if (executedCount >= waveCount) {
|
||||
clearInterval(intervalId);
|
||||
return;
|
||||
}
|
||||
this.mexicanWave(waveDirection === "forward");
|
||||
executedCount++;
|
||||
}, interval);
|
||||
}
|
||||
|
||||
setupHoverEvents() {
|
||||
this.links.forEach((link) => {
|
||||
link.addEventListener("mouseenter", () => this.showDetails(link));
|
||||
link.addEventListener("mouseleave", () => this.clearDetails());
|
||||
});
|
||||
}
|
||||
|
||||
showDetails(link) {
|
||||
const description = link.dataset.description;
|
||||
if (this.details && description) {
|
||||
this.details.textContent = description;
|
||||
}
|
||||
}
|
||||
|
||||
clearDetails() {
|
||||
if (this.details) {
|
||||
this.details.textContent = "";
|
||||
}
|
||||
}
|
||||
}
|
@ -426,7 +426,7 @@ class ###Component###Model###View### extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -35,6 +35,9 @@ class ###Component###View###SView### extends HtmlView
|
||||
$this->user = Factory::getUser();
|
||||
// get global action permissions
|
||||
$this->canDo = ###Component###Helper::getActions('###sview###');###CUSTOM_ADMIN_DIPLAY_METHOD###
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
@ -96,7 +99,7 @@ class ###Component###View###SView### extends HtmlView
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= JFactory::getDocument();
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
|
@ -72,11 +72,11 @@ class ###Component###View###View### extends HtmlView
|
||||
throw new Exception(implode("\n", $errors), 500);
|
||||
}
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
|
||||
// Set the document
|
||||
$this->setDocument();
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
}
|
||||
|
||||
|
||||
@ -113,6 +113,11 @@ class ###Component###View###View### extends HtmlView
|
||||
*/
|
||||
protected function setDocument()
|
||||
{
|
||||
// Load Core
|
||||
Html::_('behavior.core');
|
||||
// Load jQuery
|
||||
Html::_('jquery.framework');
|
||||
|
||||
$isNew = ($this->item->id < 1);
|
||||
$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###
|
||||
@ -126,7 +131,7 @@ class ###Component###View###View### extends HtmlView
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= JFactory::getDocument();
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
|
@ -72,11 +72,11 @@ class ###Component###View###View### extends HtmlView
|
||||
throw new Exception(implode("\n", $errors), 500);
|
||||
}
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
|
||||
// Set the document
|
||||
$this->setDocument();
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
}
|
||||
|
||||
|
||||
@ -114,6 +114,11 @@ class ###Component###View###View### extends HtmlView
|
||||
*/
|
||||
protected function setDocument()
|
||||
{
|
||||
// Load Core
|
||||
Html::_('behavior.core');
|
||||
// Load jQuery
|
||||
Html::_('jquery.framework');
|
||||
|
||||
$isNew = ($this->item->id < 1);
|
||||
$this->getDocument()->setTitle(Text::_($isNew ? 'COM_###COMPONENT###_###VIEW###_NEW' : 'COM_###COMPONENT###_###VIEW###_EDIT'));
|
||||
// only add the ISIS template css & js if needed (default is 1 = true)
|
||||
@ -139,7 +144,7 @@ class ###Component###View###View### extends HtmlView
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= JFactory::getDocument();
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
|
@ -100,4 +100,14 @@ class ###Component###ViewImport extends HtmlView
|
||||
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Document (helper method toward Joomla 4 and 5)
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
}
|
||||
|
@ -51,4 +51,14 @@ class ###Component###View###View### extends HtmlView
|
||||
ToolbarHelper::help('COM_###COMPONENT###_HELP_MANAGER', false, $this->help_url);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Document (helper method toward Joomla 4 and 5)
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
}
|
||||
|
@ -65,11 +65,11 @@ class ###Component###View###Views### extends HtmlView
|
||||
throw new Exception(implode("\n", $errors), 500);
|
||||
}
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
|
||||
// Set the document
|
||||
$this->setDocument();
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -151,6 +151,11 @@ class ###Component###View###Views### extends HtmlView
|
||||
*/
|
||||
protected function setDocument()
|
||||
{
|
||||
// Load Core
|
||||
Html::_('behavior.core');
|
||||
// Load jQuery
|
||||
Html::_('jquery.framework');
|
||||
|
||||
if (!isset($this->document))
|
||||
{
|
||||
$this->document = Factory::getDocument();
|
||||
@ -192,7 +197,7 @@ class ###Component###View###Views### extends HtmlView
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= JFactory::getDocument();
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}###FILTERFUNCTIONS###
|
||||
|
@ -35,6 +35,9 @@ class ###Component###View###SViews### extends HtmlView
|
||||
$this->user = Factory::getUser();
|
||||
// get global action permissions
|
||||
$this->canDo = ###Component###Helper::getActions('###sview###');###CUSTOM_ADMIN_DIPLAY_METHOD###
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
@ -86,7 +89,7 @@ class ###Component###View###SViews### extends HtmlView
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= JFactory::getDocument();
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
|
@ -33,6 +33,9 @@ class ###Component###View###SViews### extends HtmlView
|
||||
$this->menu = $this->app->getMenu()->getActive();
|
||||
// get the user object
|
||||
$this->user = Factory::getUser();###SITE_DIPLAY_METHOD###
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
@ -78,7 +81,7 @@ class ###Component###View###SViews### extends HtmlView
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= JFactory::getDocument();
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
|
@ -33,6 +33,9 @@ class ###Component###View###SView### extends HtmlView
|
||||
$this->menu = $this->app->getMenu()->getActive();
|
||||
// get the user object
|
||||
$this->user = Factory::getUser();###SITE_DIPLAY_METHOD###
|
||||
|
||||
// Display the template
|
||||
parent::display($tpl);
|
||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
@ -78,7 +81,7 @@ class ###Component###View###SView### extends HtmlView
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
$this->document ??= JFactory::getDocument();
|
||||
$this->document ??= Factory::getDocument();
|
||||
|
||||
return $this->document;
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
#[\AllowDynamicProperties]
|
||||
class HtmlView extends BaseHtmlView
|
||||
{
|
||||
/**
|
||||
@ -89,9 +90,10 @@ class HtmlView extends BaseHtmlView
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
* @since 1.6
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
public function display($tpl = null): void
|
||||
{
|
||||
// Assign data to the view
|
||||
$this->items = $this->get('Items');
|
||||
|
@ -52,7 +52,23 @@ class ###View###Controller extends FormController
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
protected $view_list = '###views###';###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
protected $view_list = '###views###';
|
||||
|
||||
/**
|
||||
* Referral value
|
||||
*
|
||||
* @var string
|
||||
* @since 5.0
|
||||
*/
|
||||
protected string $ref;
|
||||
|
||||
/**
|
||||
* Referral ID value
|
||||
*
|
||||
* @var int
|
||||
* @since 5.0
|
||||
*/
|
||||
protected int $refid;###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -25,6 +25,7 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
#[\AllowDynamicProperties]
|
||||
class HtmlView extends BaseHtmlView
|
||||
{
|
||||
/**
|
||||
@ -113,9 +114,10 @@ class HtmlView extends BaseHtmlView
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
* @since 1.6
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
public function display($tpl = null): void
|
||||
{
|
||||
// set params
|
||||
$this->params = ComponentHelper::getParams('com_###component###');
|
||||
|
@ -25,6 +25,7 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
#[\AllowDynamicProperties]
|
||||
class HtmlView extends BaseHtmlView
|
||||
{
|
||||
/**
|
||||
@ -65,9 +66,10 @@ class HtmlView extends BaseHtmlView
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
* @since 1.6
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
public function display($tpl = null): void
|
||||
{
|
||||
// get component params
|
||||
$this->params = ComponentHelper::getParams('com_###component###');
|
||||
@ -82,6 +84,8 @@ class HtmlView extends BaseHtmlView
|
||||
|
||||
// Set the html view document stuff
|
||||
$this->_prepareDocument();
|
||||
|
||||
parent::display($tpl);
|
||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
|
@ -105,9 +105,12 @@ class ###SViews###Model extends ListModel
|
||||
];
|
||||
|
||||
/**
|
||||
* A custom property for UIKit components. (not used unless you load v2)
|
||||
* A custom property for UI Kit components.
|
||||
*
|
||||
* @var mixed Property for storing UI Kit component-related data or objects.
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected $uikitComp;
|
||||
protected $uikitComp = [];
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
|
@ -25,6 +25,7 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
#[\AllowDynamicProperties]
|
||||
class HtmlView extends BaseHtmlView
|
||||
{
|
||||
/**
|
||||
@ -33,9 +34,10 @@ class HtmlView extends BaseHtmlView
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
* @since 1.6
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
public function display($tpl = null): void
|
||||
{
|
||||
// get component params
|
||||
$this->params = ComponentHelper::getParams('com_###component###');
|
||||
@ -50,6 +52,8 @@ class HtmlView extends BaseHtmlView
|
||||
|
||||
// Set the html view document stuff
|
||||
$this->_prepareDocument();
|
||||
|
||||
parent::display($tpl);
|
||||
}###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
|
@ -115,10 +115,10 @@ class ###SView###Model extends ItemModel
|
||||
/**
|
||||
* A custom property for UI Kit components.
|
||||
*
|
||||
* @var array|null Property for storing UI Kit component-related data or objects.
|
||||
* @var mixed Property for storing UI Kit component-related data or objects.
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected ?array $uikitComp;
|
||||
protected $uikitComp = [];
|
||||
|
||||
/**
|
||||
* @var object item
|
||||
|
@ -25,13 +25,17 @@ namespace ###NAMESPACEPREFIX###\Component\###ComponentNamespace###\Administrator
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
#[\AllowDynamicProperties]
|
||||
class HtmlView extends BaseHtmlView
|
||||
{
|
||||
/**
|
||||
* View display method
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
* @since 1.6
|
||||
*/
|
||||
function display($tpl = null)
|
||||
function display($tpl = null): void
|
||||
{
|
||||
// Assign data to the view
|
||||
$this->icons = $this->get('Icons');
|
||||
|
@ -81,9 +81,10 @@ class HtmlView extends BaseHtmlView
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
* @since 1.6
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
public function display($tpl = null): void
|
||||
{
|
||||
// get combined params of both component and menu
|
||||
$this->app ??= Factory::getApplication();
|
||||
@ -93,6 +94,8 @@ class HtmlView extends BaseHtmlView
|
||||
$this->scripts = $this->get('Scripts');
|
||||
// get the user object
|
||||
$this->user ??= $this->app->getIdentity();###SITE_DIPLAY_METHOD###
|
||||
|
||||
parent::display($tpl);
|
||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
|
@ -65,9 +65,10 @@ class HtmlView extends BaseHtmlView
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
* @since 1.6
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
public function display($tpl = null): void
|
||||
{
|
||||
// get combined params of both component and menu
|
||||
$this->app ??= Factory::getApplication();
|
||||
@ -77,6 +78,8 @@ class HtmlView extends BaseHtmlView
|
||||
$this->scripts = $this->get('Scripts') ?? [];
|
||||
// get the user object
|
||||
$this->user ??= $this->getCurrentUser();###SITE_DIPLAY_METHOD###
|
||||
|
||||
parent::display($tpl);
|
||||
}###SITE_EXTRA_DIPLAY_METHODS###
|
||||
|
||||
/**
|
||||
|
@ -57,7 +57,7 @@
|
||||
buttons="add,remove,move"
|
||||
description="COM_COMPONENTBUILDER_CONFIG_SUBFORM_LAYOUTS_DESCRIPTION"
|
||||
icon="list"
|
||||
max="9"
|
||||
max="10"
|
||||
min="1">
|
||||
<form hidden="true" name="list_subform_layouts_modal" repeat="true">
|
||||
<!-- View_field Field. Type: List. (joomla) -->
|
||||
@ -73,6 +73,8 @@
|
||||
<!-- Option Set. -->
|
||||
<option value="default">
|
||||
COM_COMPONENTBUILDER_CONFIG_DEFAULT</option>
|
||||
<option value="admin_view.ajax_input">
|
||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_VIEWS_AJAX_INPUT</option>
|
||||
<option value="admin_custom_tabs.tabs">
|
||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS</option>
|
||||
<option value="admin_fields.addfields">
|
||||
@ -93,6 +95,8 @@
|
||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_CUSTOM_ADMIN_MENUS_ADDCUSTOMMENUS</option>
|
||||
<option value="component_site_views.addsite_views">
|
||||
COM_COMPONENTBUILDER_CONFIG_COMPONENT_SITE_VIEWS_ADDSITE_VIEWS</option>
|
||||
<option value="custom_admin_view.ajax_input">
|
||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_ADMIN_VIEWS_AJAX_INPUT</option>
|
||||
<option value="dynamic_get.join_db_table">
|
||||
COM_COMPONENTBUILDER_CONFIG_DYNAMIC_GET_JOIN_DB_TABLE</option>
|
||||
<option value="dynamic_get.join_view_table">
|
||||
@ -103,6 +107,8 @@
|
||||
COM_COMPONENTBUILDER_CONFIG_JOOMLA_MODULE_UPDATES_VERSION_UPDATE</option>
|
||||
<option value="joomla_plugin_updates.version_update">
|
||||
COM_COMPONENTBUILDER_CONFIG_JOOMLA_PLUGIN_UPDATES_VERSION_UPDATE</option>
|
||||
<option value="site_view.ajax_input">
|
||||
COM_COMPONENTBUILDER_CONFIG_SITE_VIEWS_AJAX_INPUT</option>
|
||||
</field>
|
||||
<!-- Layout Field. Type: List. (joomla) -->
|
||||
<field
|
||||
|
@ -544,7 +544,7 @@ class ComponentbuilderControllerCompiler extends AdminController
|
||||
$tmp = $comConfig->get('tmp_path');
|
||||
if ($model->emptyFolder($tmp))
|
||||
{
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB');
|
||||
$this->setRedirect($redirect_url, $message, 'message');
|
||||
// get application
|
||||
$app = Factory::getApplication();
|
||||
|
@ -20,6 +20,7 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
use VDM\Joomla\Componentbuilder\Fieldtype\Factory as FieldtypeFactory;
|
||||
|
||||
/**
|
||||
* Fieldtype Form Controller
|
||||
@ -48,6 +49,157 @@ class ComponentbuilderControllerFieldtype extends FormController
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets the specified Joomla Field Type.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to reset the Joomla Field Type.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified Joomla Field Type.
|
||||
* 6. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful reset, false on failure.
|
||||
*/
|
||||
public function resetPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get Item posted
|
||||
$item = $this->input->post->get('jform', array(), 'array');
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_FIELD_TYPE') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// load the ID
|
||||
$id = $item['id'] ?? null;
|
||||
$guid = $item['guid'] ?? null;
|
||||
|
||||
// check if there is any selections
|
||||
if ($id === null || $guid === null)
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('fieldtype.reset', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->reset([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_(
|
||||
'index.php?option=com_componentbuilder&view=fieldtype'
|
||||
. $this->getRedirectToItemAppend($id), $success
|
||||
);
|
||||
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the specified Joomla Field Type.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the Joomla Field Type.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified Joomla Field Type.
|
||||
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get Item posted
|
||||
$item = $this->input->post->get('jform', array(), 'array');
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_FIELD_TYPE') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// load the ID
|
||||
$id = $item['id'] ?? null;
|
||||
$guid = $item['guid'] ?? null;
|
||||
|
||||
// check if there is any selections
|
||||
if ($id === null || $guid === null)
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('fieldtype.push', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Set')->items([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_(
|
||||
'index.php?option=com_componentbuilder&view=fieldtype'
|
||||
. $this->getRedirectToItemAppend($id), $success
|
||||
);
|
||||
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
*
|
||||
|
@ -20,6 +20,8 @@ use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Componentbuilder\Fieldtype\Factory as FieldtypeFactory;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
|
||||
/**
|
||||
* Fieldtypes Admin Controller
|
||||
@ -112,4 +114,219 @@ class ComponentbuilderControllerFieldtypes extends AdminController
|
||||
$this->setRedirect(Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false), $message, 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes all remote Joomla Field Types and syncs them with the local database.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla Field Types.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Joomla Field Types.
|
||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||
* 5. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful initialization, false on failure.
|
||||
*/
|
||||
public function initPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_FIELD_TYPES') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
if($user->authorise('fieldtype.init', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->init())
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_FIELD_TYPES') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_FIELD_TYPES_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES') . '</p>';
|
||||
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the selected Joomla Field Types.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla Field Types.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla Field Types.
|
||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful reset, false on failure.
|
||||
*/
|
||||
public function resetPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get IDS of the selected powers
|
||||
$pks = $this->input->post->get('cid', [], 'array');
|
||||
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
|
||||
// check if there is any selections
|
||||
if ($pks === [])
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url, $message, 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('fieldtype.reset', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('fieldtype', $pks, 'id', 'guid');
|
||||
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Get')->reset($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url);
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the selected Joomla Field Types.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla Field Types.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla Field Types.
|
||||
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get IDS of the selected powers
|
||||
$pks = $this->input->post->get('cid', [], 'array');
|
||||
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
|
||||
// check if there is any selections
|
||||
if ($pks === [])
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url, $message, 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('fieldtype.push', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('fieldtype', $pks, 'id', 'guid');
|
||||
|
||||
try {
|
||||
if (FieldtypeFactory::_('Joomla.Fieldtype.Remote.Set')->items($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=fieldtypes', false);
|
||||
$this->setRedirect($redirect_url);
|
||||
return $success;
|
||||
}
|
||||
}
|
@ -139,7 +139,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
||||
$tmp = $comConfig->get('tmp_path');
|
||||
if ($model->emptyFolder($tmp))
|
||||
{
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
|
||||
$message = Text::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB');
|
||||
$this->setRedirect($redirect_url, $message, 'message');
|
||||
// get application
|
||||
$app = Factory::getApplication();
|
||||
@ -192,7 +192,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
// check if there is any selections
|
||||
if (!JCBArrayHelper::check($pks))
|
||||
if (!UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
// Redirect to the list screen with error.
|
||||
$message = Text::_('COM_COMPONENTBUILDER_NO_COMPONENTS_WERE_SELECTED_PLEASE_MAKE_A_SELECTION_AND_TRY_AGAIN');
|
||||
@ -431,7 +431,7 @@ class ComponentbuilderControllerJoomla_components extends AdminController
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
// check if there is any selections
|
||||
if (!JCBArrayHelper::check($pks))
|
||||
if (!UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
// Redirect to the list screen with error.
|
||||
$message = Text::_('COM_COMPONENTBUILDER_NO_COMPONENT_WAS_SELECTED_PLEASE_MAKE_A_SELECTION_OF_ONE_COMPONENT_AND_TRY_AGAIN');
|
||||
|
@ -49,15 +49,16 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets the specified Joomla power.
|
||||
* Resets the specified Joomla Power.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to reset the Joomla power.
|
||||
* 3. It checks whether the current user has the necessary permissions to reset the Joomla Power.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified power.
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to reset the specified Joomla Power.
|
||||
* 6. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -91,7 +92,7 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('power.reset', 'com_componentbuilder'))
|
||||
elseif($user->authorise('joomla_power.reset', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->reset([$guid]))
|
||||
@ -125,14 +126,14 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the specified Joomla power.
|
||||
* Pushes the specified Joomla Power.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the Joomla power.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the Joomla Power.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified power.
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified Joomla Power.
|
||||
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -166,7 +167,7 @@ class ComponentbuilderControllerJoomla_power extends FormController
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('power.push', 'com_componentbuilder'))
|
||||
elseif($user->authorise('joomla_power.push', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Set')->items([$guid]))
|
||||
|
@ -50,13 +50,14 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
return parent::getModel($name, $prefix, $config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes all remote Joomla powers and syncs them with the local database.
|
||||
* Initializes all remote Joomla Powers and syncs them with the local database.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Joomla powers.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Joomla Powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Joomla Powers.
|
||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||
* 5. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -76,7 +77,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
if($user->authorise('power.init', 'com_componentbuilder'))
|
||||
if($user->authorise('joomla_power.init', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (JoomlaPowerFactory::_('Joomla.Power.Remote.Get')->init())
|
||||
@ -107,15 +108,15 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the selected Joomla powers.
|
||||
* Resets the selected Joomla Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla powers.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Joomla Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Joomla Powers.
|
||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -149,7 +150,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('power.reset', 'com_componentbuilder'))
|
||||
if($user->authorise('joomla_power.reset', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
||||
|
||||
@ -186,15 +187,15 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the selected Joomla powers.
|
||||
* Pushes the selected Joomla Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla powers.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Joomla Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Joomla Powers.
|
||||
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -228,7 +229,7 @@ class ComponentbuilderControllerJoomla_powers extends AdminController
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('power.push', 'com_componentbuilder'))
|
||||
if($user->authorise('joomla_power.push', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('joomla_power', $pks, 'id', 'guid');
|
||||
|
||||
|
@ -49,6 +49,7 @@ class ComponentbuilderControllerPower extends FormController
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets the specified power.
|
||||
*
|
||||
@ -93,18 +94,98 @@ class ComponentbuilderControllerPower extends FormController
|
||||
}
|
||||
elseif($user->authorise('power.reset', 'com_componentbuilder'))
|
||||
{
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_(
|
||||
'index.php?option=com_componentbuilder&view=power'
|
||||
. $this->getRedirectToItemAppend($id), $success
|
||||
);
|
||||
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the specified power.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the item data posted by the user.
|
||||
* 3. It checks whether the current user has the necessary permissions to push the power.
|
||||
* 4. It validates the presence of the necessary item identifiers (ID and GUID).
|
||||
* 5. If the user is authorized and the identifiers are valid, it attempts to push the specified power.
|
||||
* 6. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 7. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get Item posted
|
||||
$item = $this->input->post->get('jform', array(), 'array');
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
|
||||
// set default error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PERMISSION_DENIED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_POWER') . '</p>';
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// load the ID
|
||||
$id = $item['id'] ?? null;
|
||||
$guid = $item['guid'] ?? null;
|
||||
|
||||
// check if there is any selections
|
||||
if ($id === null || $guid === null)
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_NOT_SAVED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE') . '</p>';
|
||||
}
|
||||
elseif($user->authorise('power.push', 'com_componentbuilder'))
|
||||
{
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Set')->items([$guid]))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_POWER_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,13 +50,14 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
return parent::getModel($name, $prefix, $config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes all remote powers and syncs them with the local database.
|
||||
* Initializes all remote Powers and syncs them with the local database.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote powers.
|
||||
* 2. It checks whether the current user has the necessary permissions to initialize the Powers.
|
||||
* 3. If the user is authorized, it attempts to initialize the remote Powers.
|
||||
* 4. Depending on the result of the initialization operation, it sets the appropriate success or error message.
|
||||
* 5. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -78,19 +79,24 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
|
||||
if($user->authorise('power.init', 'com_componentbuilder'))
|
||||
{
|
||||
if (PowerFactory::_('Power.Remote.Get')->init())
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES') . '</p>';
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Get')->init())
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES') . '</p>';
|
||||
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_INITIALIZATION_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED') . '</p>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
@ -102,15 +108,15 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the selected powers.
|
||||
* Resets the selected Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected powers.
|
||||
* 5. It checks whether the current user has the necessary permissions to reset the selected Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to reset the selected Powers.
|
||||
* 7. Depending on the result of the reset operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
@ -148,18 +154,102 @@ class ComponentbuilderControllerPowers extends AdminController
|
||||
{
|
||||
$guids = GetHelper::vars('power', $pks, 'id', 'guid');
|
||||
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Get')->reset($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_RESET_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', $success);
|
||||
$this->setRedirect($redirect_url, $message, $status);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false);
|
||||
$this->setRedirect($redirect_url);
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pushes the selected Powers.
|
||||
*
|
||||
* This function performs several checks and operations:
|
||||
* 1. It verifies the authenticity of the request to prevent request forgery.
|
||||
* 2. It retrieves the IDs of the selected powers from the user input.
|
||||
* 3. It sanitizes the input by converting the IDs to integers.
|
||||
* 4. It checks whether any powers have been selected.
|
||||
* 5. It checks whether the current user has the necessary permissions to push the selected Powers.
|
||||
* 6. If the user is authorized and powers are selected, it attempts to push the selected Powers.
|
||||
* 7. Depending on the result of the push operation, it sets the appropriate success or error message.
|
||||
* 8. It redirects the user to a specified URL with the result message and status.
|
||||
*
|
||||
* @return bool True on successful push, false on failure.
|
||||
*/
|
||||
public function pushPowers()
|
||||
{
|
||||
// Check for request forgeries
|
||||
Session::checkToken() or die(Text::_('JINVALID_TOKEN'));
|
||||
|
||||
// get IDS of the selected powers
|
||||
$pks = $this->input->post->get('cid', [], 'array');
|
||||
|
||||
// Sanitize the input
|
||||
ArrayHelper::toInteger($pks);
|
||||
|
||||
// check if there is any selections
|
||||
if ($pks === [])
|
||||
{
|
||||
// set error message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_NO_SELECTION_DETECTED').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_PLEASE_FIRST_MAKE_A_SELECTION_FROM_THE_LIST').'</p>';
|
||||
// set redirect
|
||||
$redirect_url = Route::_('index.php?option=com_componentbuilder&view=powers', false);
|
||||
$this->setRedirect($redirect_url, $message, 'error');
|
||||
return false;
|
||||
}
|
||||
|
||||
$status = 'error';
|
||||
$success = false;
|
||||
|
||||
// check if user has the right
|
||||
$user = Factory::getUser();
|
||||
if($user->authorise('power.push', 'com_componentbuilder'))
|
||||
{
|
||||
$guids = GetHelper::vars('power', $pks, 'id', 'guid');
|
||||
|
||||
try {
|
||||
if (PowerFactory::_('Power.Remote.Set')->items($guids))
|
||||
{
|
||||
// set success message
|
||||
$message = '<h1>'.Text::_('COM_COMPONENTBUILDER_SUCCESS').'</h1>';
|
||||
$message .= '<p>'.Text::_('COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED').'</p>';
|
||||
$status = 'success';
|
||||
$success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . Text::_('COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_POWERS_HAS_FAILED') . '</p>';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$message = '<h1>' . Text::_('COM_COMPONENTBUILDER_PUSH_FAILED') . '</h1>';
|
||||
$message .= '<p>' . \htmlspecialchars($e->getMessage()) . '</p>';
|
||||
}
|
||||
|
||||
// set redirect
|
||||
|
@ -136,7 +136,7 @@ class ComponentbuilderControllerSnippets extends AdminController
|
||||
$input = Factory::getApplication()->input;
|
||||
$pks = $input->post->get('cid', array(), 'array');
|
||||
// Sanitize the input
|
||||
JArrayHelper::toInteger($pks);
|
||||
ArrayHelper::toInteger($pks);
|
||||
// check if there is any selections
|
||||
if (!UtilitiesArrayHelper::check($pks))
|
||||
{
|
||||
|
16
admin/custom/DownloadControllerAdmin.php
Normal file
16
admin/custom/DownloadControllerAdmin.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @version 2.0.0 - September 03, 2014
|
||||
* @package Component Builder
|
||||
* @author Llewellyn van de Merwe <http://www.vdm.io>
|
||||
* @copyright Copyright (C) 2014. All Rights Reserved
|
||||
* @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
**/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
?>
|
||||
###BOM###
|
||||
[CUSTOMCODE=dynamicDownloadController+Administrator]
|
16
admin/custom/DownloadControllerSite.php
Normal file
16
admin/custom/DownloadControllerSite.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @version 2.0.0 - September 03, 2014
|
||||
* @package Component Builder
|
||||
* @author Llewellyn van de Merwe <http://www.vdm.io>
|
||||
* @copyright Copyright (C) 2014. All Rights Reserved
|
||||
* @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
**/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
?>
|
||||
###BOM###
|
||||
[CUSTOMCODE=dynamicDownloadController+Site]
|
@ -52,6 +52,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper;
|
||||
use VDM\Joomla\Componentbuilder\Compiler\Factory as CompilerFactory;
|
||||
use VDM\Joomla\Utilities\Base64Helper;
|
||||
use VDM\Joomla\FOF\Encrypt\AES;
|
||||
use VDM\Joomla\Utilities\DateHelper;
|
||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||
use VDM\Joomla\Utilities\String\FieldHelper as StringFieldHelper;
|
||||
use VDM\Joomla\Utilities\String\TypeHelper;
|
||||
@ -2164,7 +2165,7 @@ abstract class ComponentbuilderHelper
|
||||
{
|
||||
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
||||
{
|
||||
self::$session = Factory::getSession();
|
||||
self::$session = Factory::getApplication()->getSession();
|
||||
}
|
||||
// set the defaults
|
||||
self::setSessionDefaults();
|
||||
@ -2177,7 +2178,7 @@ abstract class ComponentbuilderHelper
|
||||
{
|
||||
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
||||
{
|
||||
self::$session = Factory::getSession();
|
||||
self::$session = Factory::getApplication()->getSession();
|
||||
}
|
||||
// set to local memory to speed up program
|
||||
self::$localSession[$key] = $value;
|
||||
@ -2192,7 +2193,7 @@ abstract class ComponentbuilderHelper
|
||||
{
|
||||
if (!isset(self::$session) || !ObjectHelper::check(self::$session))
|
||||
{
|
||||
self::$session = Factory::getSession();
|
||||
self::$session = Factory::getApplication()->getSession();
|
||||
}
|
||||
// check if in local memory
|
||||
if (!isset(self::$localSession[$key]))
|
||||
@ -3513,12 +3514,12 @@ abstract class ComponentbuilderHelper
|
||||
'editor', 'editors', 'email', 'file', 'file', 'filelist', 'folderlist', 'groupedlist', 'headertag', 'helpsite', 'hidden', 'imagelist',
|
||||
'integer', 'language', 'list', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'moduleorder', 'moduleposition',
|
||||
'moduletag', 'note', 'number', 'password', 'plugins', 'predefinedlist', 'radio', 'range', 'repeatable', 'rules',
|
||||
'sessionhandler', 'spacer', 'sql', 'subform', 'tag', 'tel', 'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
'sessionhandler', 'spacer', 'sql', 'subform', 'tag', 'tel', 'templatestyle', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup', 'usergrouplist'
|
||||
),
|
||||
'plain' => array(
|
||||
'cachehandler', 'calendar', 'checkbox', 'chromestyle', 'color', 'componentlayout', 'contenttype', 'editor', 'editors', 'captcha',
|
||||
'email', 'file', 'headertag', 'helpsite', 'hidden', 'integer', 'language', 'media', 'menu', 'modal_menu', 'menuitem', 'meter', 'modulelayout', 'templatestyle',
|
||||
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup'
|
||||
'moduleorder', 'moduletag', 'number', 'password', 'range', 'rules', 'tag', 'tel', 'text', 'textarea', 'timezone', 'url', 'user', 'usergroup', 'usergrouplist'
|
||||
),
|
||||
'option' => array(
|
||||
'accesslevel', 'category', 'checkboxes', 'combo', 'contentlanguage', 'databaseconnection', 'components',
|
||||
@ -5228,195 +5229,246 @@ abstract class ComponentbuilderHelper
|
||||
|
||||
|
||||
/**
|
||||
* Change to nice fancy date
|
||||
* Convert a date to a human-readable fancy format (e.g., "1st of January 2024").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Formatted date.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::fancyDate($date, $checkStamp);
|
||||
*/
|
||||
public static function fancyDate($date, $check_stamp = true)
|
||||
public static function fancyDate($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('jS \o\f F Y',$date);
|
||||
return DateHelper::fancyDate($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* get date based in period past
|
||||
* Get a formatted date based on the time period (dynamic format based on age of the date).
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Formatted date.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::fancyDynamicDate($date, $checkStamp);
|
||||
*/
|
||||
public static function fancyDynamicDate($date, $check_stamp = true)
|
||||
public static function fancyDynamicDate($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
// older then year
|
||||
$lastyear = date("Y", strtotime("-1 year"));
|
||||
$tragetyear = date("Y", $date);
|
||||
if ($tragetyear <= $lastyear)
|
||||
{
|
||||
return date('m/d/y', $date);
|
||||
}
|
||||
// same day
|
||||
$yesterday = strtotime("-1 day");
|
||||
if ($date > $yesterday)
|
||||
{
|
||||
return date('g:i A', $date);
|
||||
}
|
||||
// just month day
|
||||
return date('M j', $date);
|
||||
return DateHelper::fancyDynamicDate($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change to nice fancy day time and date
|
||||
* Convert a date to a human-readable day, time, and date format (e.g., "Mon 12am 1st of January 2024").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Formatted day, time, and date.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::fancyDayTimeDate($date, $checkStamp);
|
||||
*/
|
||||
public static function fancyDayTimeDate($time, $check_stamp = true)
|
||||
public static function fancyDayTimeDate($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($time))
|
||||
{
|
||||
$time = strtotime($time);
|
||||
}
|
||||
return date('D ga jS \o\f F Y',$time);
|
||||
return DateHelper::fancyDayTimeDate($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change to nice fancy time and date
|
||||
* Convert a date to a human-readable time and date format (e.g., "(12:00) 1st of January 2024").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Formatted time and date.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::fancyDateTime($date, $checkStamp);
|
||||
*/
|
||||
public static function fancyDateTime($time, $check_stamp = true)
|
||||
public static function fancyDateTime($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($time))
|
||||
{
|
||||
$time = strtotime($time);
|
||||
}
|
||||
return date('(G:i) jS \o\f F Y',$time);
|
||||
return DateHelper::fancyDateTime($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change to nice hour:minutes time
|
||||
* Convert a time to a human-readable format (e.g., "12:00").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Formatted time.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::fancyTime($date, $checkStamp);
|
||||
*/
|
||||
public static function fancyTime($time, $check_stamp = true)
|
||||
public static function fancyTime($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($time))
|
||||
{
|
||||
$time = strtotime($time);
|
||||
}
|
||||
return date('G:i',$time);
|
||||
return DateHelper::fancyTime($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date day as Sunday through Saturday
|
||||
* Convert a date to the day name (e.g., "Sunday").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Day name.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setDayName($date, $checkStamp);
|
||||
*/
|
||||
public static function setDayName($date, $check_stamp = true)
|
||||
public static function setDayName($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('l', $date);
|
||||
return DateHelper::setDayName($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date month as January through December
|
||||
* Convert a date to the month name (e.g., "January").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Month name.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setMonthName($date, $checkStamp);
|
||||
*/
|
||||
public static function setMonthName($date, $check_stamp = true)
|
||||
public static function setMonthName($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('F', $date);
|
||||
return DateHelper::setMonthName($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date day as 1st
|
||||
* Convert a date to the day with suffix (e.g., "1st").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Day with suffix.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setDay($date, $checkStamp);
|
||||
*/
|
||||
public static function setDay($date, $check_stamp = true)
|
||||
public static function setDay($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('jS', $date);
|
||||
return DateHelper::setDay($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date month as 5
|
||||
* Convert a date to the numeric month (e.g., "5").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Numeric month.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setMonth($date, $checkStamp);
|
||||
*/
|
||||
public static function setMonth($date, $check_stamp = true)
|
||||
public static function setMonth($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('n', $date);
|
||||
return DateHelper::setMonth($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date year as 2004 (for charts)
|
||||
* Convert a date to the full year (e.g., "2024").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Full year.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setYear($date, $checkStamp);
|
||||
*/
|
||||
public static function setYear($date, $check_stamp = true)
|
||||
public static function setYear($date, bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('Y', $date);
|
||||
return DateHelper::setYear($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date as 2004/05 (for charts)
|
||||
* Convert a date to a year/month format (e.g., "2024/05").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param string $spacer The spacer between year and month.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Year/Month format.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setYearMonth($date, $spacer, $checkStamp);
|
||||
*/
|
||||
public static function setYearMonth($date, $spacer = '/', $check_stamp = true)
|
||||
public static function setYearMonth($date, string $spacer = '/', bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('Y' . $spacer . 'm', $date);
|
||||
return DateHelper::setYearMonth($date, $spacer, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date as 2004/05/03 (for charts)
|
||||
* Convert a date to a year/month/day format (e.g., "2024/05/03").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param string $spacer The spacer between year and month.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Year/Month/Day format.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setYearMonthDay($date, $spacer, $checkStamp);
|
||||
*/
|
||||
public static function setYearMonthDay($date, $spacer = '/', $check_stamp = true)
|
||||
public static function setYearMonthDay($date, string $spacer = '/', bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('Y' . $spacer . 'm' . $spacer . 'd', $date);
|
||||
return DateHelper::setYearMonthDay($date, $spacer, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the date as 03/05/2004
|
||||
* Convert a date to a day/month/year format (e.g., "03/05/2024").
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param string $spacer The spacer between year and month.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return string Day/Month/Year format.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::setDayMonthYear($date, $spacer, $checkStamp);
|
||||
*/
|
||||
public static function setDayMonthYear($date, $spacer = '/', $check_stamp = true)
|
||||
public static function setDayMonthYear($date, string $spacer = '/', bool $checkStamp = true): string
|
||||
{
|
||||
if ($check_stamp && !self::isValidTimeStamp($date))
|
||||
{
|
||||
$date = strtotime($date);
|
||||
}
|
||||
return date('d' . $spacer . 'm' . $spacer . 'Y', $date);
|
||||
return DateHelper::setDayMonthYear($date, $spacer, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if string is a valid time stamp
|
||||
* Convert a date string to a valid timestamp.
|
||||
*
|
||||
* @param string|int $date The date as a string or timestamp.
|
||||
* @param bool $checkStamp Whether to check if the input is a timestamp.
|
||||
*
|
||||
* @return int The valid timestamp.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::getValidTimestamp($date, $checkStamp);
|
||||
*/
|
||||
public static function isValidTimeStamp($timestamp)
|
||||
public static function getValidTimestamp($date, bool $checkStamp): int
|
||||
{
|
||||
return ((int) $timestamp === $timestamp)
|
||||
&& ($timestamp <= PHP_INT_MAX)
|
||||
&& ($timestamp >= ~PHP_INT_MAX);
|
||||
return DateHelper::getValidTimestamp($date, $checkStamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if string is a valid date
|
||||
* https://www.php.net/manual/en/function.checkdate.php#113205
|
||||
* Check if the input is a valid Unix timestamp.
|
||||
*
|
||||
* @param mixed $timestamp The timestamp to validate.
|
||||
*
|
||||
* @return bool True if valid timestamp, false otherwise.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::isValidTimeStamp($timestamp);
|
||||
*/
|
||||
public static function isValidateDate($date, $format = 'Y-m-d H:i:s')
|
||||
public static function isValidTimeStamp($timestamp): bool
|
||||
{
|
||||
$d = DateTime::createFromFormat($format, $date);
|
||||
return $d && $d->format($format) == $date;
|
||||
return DateHelper::isValidTimeStamp($timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a string is a valid date according to the specified format.
|
||||
*
|
||||
* @param string $date The date string to validate.
|
||||
* @param string $format The format to check against (default is 'Y-m-d H:i:s').
|
||||
*
|
||||
* @return bool True if valid date, false otherwise.
|
||||
* @since 3.0.0
|
||||
* @deprecated 4.0.0 Use DateHelper::isValidateDate($date, $format);
|
||||
*/
|
||||
public static function isValidateDate($date, string $format = 'Y-m-d H:i:s'): bool
|
||||
{
|
||||
return DateHelper::isValidateDate($date, $format);
|
||||
}
|
||||
|
||||
/**
|
||||
* The subform layouts
|
||||
|
@ -1287,7 +1287,6 @@ COM_COMPONENTBUILDER_ALIGNMENT="Alignment"
|
||||
COM_COMPONENTBUILDER_ALL="All"
|
||||
COM_COMPONENTBUILDER_ALLOWS_YOU_TO_OVERRIDE_THE_BUILD_DATE_BY_SELECTING_A_DATE_MANUALLY_FROM_THE_CALENDER="Allows you to override the build date by selecting a date manually from the calender."
|
||||
COM_COMPONENTBUILDER_ALL_FOUND_INSTANCES_IN_S_WHERE_REPLACED="All found instances in %s where replaced"
|
||||
COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER="All is good, please check again later"
|
||||
COM_COMPONENTBUILDER_ALL_IS_GOOD_THERE_IS_NO_NOTICE_AT_THIS_TIME="All is good, there is no notice at this time."
|
||||
COM_COMPONENTBUILDER_ALL_OF_THESE_PACKAGES_ARE_A_FULLY_DEVELOPEDMAPPED_COMPONENTS_FOR_JCB_THEY_CAN_BE_SEEN_AS_DEMO_CONTENT_OR_BASE_IMAGES_FROM_WHICH_TO_START_YOUR_PROJECTBR_ALWAYS_MAKE_SURE_YOU_ARE_ON_THE_LATEST_VERSION_OF_JCB_BEFORE_IMPORTING_ANY_OF_THESE_PACKAGES_SHOULD_ANY_OF_THEM_FAIL_TO_IMPORT_A_S_PLEASE_LET_US_KNOWA="All of these packages are a fully developed/mapped components for JCB. They can be seen as demo content, or base images from which to start your project.<br />Always make sure you are on the latest version of JCB before importing any of these packages, should any of them fail to import <a %s >please let us know</a>."
|
||||
COM_COMPONENTBUILDER_ALL_THE_FIELDS_AND_VIEWS_FROM_YOUR_SQL_DUMP_HAS_BEEN_CREATED_AND_LINKED_TO_THIS_COMPONENT="All the fields and views from your sql dump has been created and linked to this component."
|
||||
@ -1347,10 +1346,11 @@ COM_COMPONENTBUILDER_BSB_COULD_NOT_BE_IMPORTEDS="<b>%s</b> could not be imported
|
||||
COM_COMPONENTBUILDER_BSB_HAS_BEEN_IMPORTED="<b>%s</b> has been imported!"
|
||||
COM_COMPONENTBUILDER_BSB_HAS_BEEN_UPDATED="<b>%s</b> has been updated!"
|
||||
COM_COMPONENTBUILDER_BSB_WAS_FOUND="<b>%s</b> was found!"
|
||||
COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB="<b>The tmp folder has been clear successfully!</b>"
|
||||
COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEARED_SUCCESSFULLYB="<b>The tmp folder has been cleared successfully!</b>"
|
||||
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_BULK="Bulk"
|
||||
COM_COMPONENTBUILDER_BULK_GET_ALL_NEW_SNIPPETS="Bulk Get All New Snippets"
|
||||
COM_COMPONENTBUILDER_BULK_TOOLS="Bulk Tools"
|
||||
@ -1360,6 +1360,7 @@ COM_COMPONENTBUILDER_BULK_UPDATE_ALL_DIVERGED_SNIPPETS="Bulk Update All Diverged
|
||||
COM_COMPONENTBUILDER_BULK_UPDATE_ALL_OUT_DATED_SNIPPETS="Bulk Update All Out Dated Snippets"
|
||||
COM_COMPONENTBUILDER_BUTTON_TO_CREATE_S_WILL_SHOW_ONCE_S_IS_SAVED_FOR_THE_FIRST_TIME="Button to create %s will show once %s is saved for the first time."
|
||||
COM_COMPONENTBUILDER_CANCEL="Cancel"
|
||||
COM_COMPONENTBUILDER_CAN_NOT_SAVE_USER_WITHOUT_EMAIL_VALUE="Can not save user without email value."
|
||||
COM_COMPONENTBUILDER_CHAIN="Chain"
|
||||
COM_COMPONENTBUILDER_CHECK_YOUR_OWNER_DETAILS_IT_HAS_NOT_BEEN_SET_OPEN_THE_JCB_GLOBAL_OPTIONS_GO_TO_THE_COMPANY_TAB_AND_ADD_THE_CORRECT_COMPANY_DETAILS_THERE="Check your owner details, it has not been set. Open the JCB Global Options, go to the Company tab and add the correct company details there."
|
||||
COM_COMPONENTBUILDER_CLASS_EXTENDINGS="Class Extendings"
|
||||
@ -1646,6 +1647,7 @@ COM_COMPONENTBUILDER_CLONE_FAILED="Clone failed!"
|
||||
COM_COMPONENTBUILDER_CLOSE_NEW="Close & New"
|
||||
COM_COMPONENTBUILDER_CODE="Code"
|
||||
COM_COMPONENTBUILDER_CODESTRINGS="code/strings"
|
||||
COM_COMPONENTBUILDER_COLLABORATE_AND_INNOVATE_WITH_LLEWELLYN_ON_GIT_BUILDING_A_BETTER_CODE_FUTURE="Collaborate and Innovate with Llewellyn on Git: Building a Better Code Future!"
|
||||
COM_COMPONENTBUILDER_COMMUNITY_PACKAGES="Community Packages"
|
||||
COM_COMPONENTBUILDER_COMPANY="Company"
|
||||
COM_COMPONENTBUILDER_COMPANY_NAME="Company Name"
|
||||
@ -2962,7 +2964,6 @@ COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_SAVE_WARNING="Alias already existed
|
||||
COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_STATUS="Status"
|
||||
COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_VERSION_DESC="A count of the number of times this Component Files & Folders has been revised."
|
||||
COM_COMPONENTBUILDER_COMPONENT_FILES_FOLDERS_VERSION_LABEL="Version"
|
||||
COM_COMPONENTBUILDER_COMPONENT_GLOBAL_SETTINGS="Component Global Settings"
|
||||
COM_COMPONENTBUILDER_COMPONENT_MODULES="Component Modules"
|
||||
COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES_DESCRIPTION="Setup the Joomla modules for this component."
|
||||
COM_COMPONENTBUILDER_COMPONENT_MODULES_ADDJOOMLA_MODULES_LABEL="Joomla Modules"
|
||||
@ -3178,6 +3179,7 @@ COM_COMPONENTBUILDER_COMPONENT_ROUTER_SITEVIEW_LABEL="View"
|
||||
COM_COMPONENTBUILDER_COMPONENT_ROUTER_STATUS="Status"
|
||||
COM_COMPONENTBUILDER_COMPONENT_ROUTER_VERSION_DESC="A count of the number of times this Component Router has been revised."
|
||||
COM_COMPONENTBUILDER_COMPONENT_ROUTER_VERSION_LABEL="Version"
|
||||
COM_COMPONENTBUILDER_COMPONENT_SETTINGS="Component Settings"
|
||||
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS="Component Site Views"
|
||||
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ACCESS_DESCRIPTION="Select if this view<br />should use access."
|
||||
COM_COMPONENTBUILDER_COMPONENT_SITE_VIEWS_ACCESS_LABEL="Add Access"
|
||||
@ -3297,6 +3299,7 @@ COM_COMPONENTBUILDER_CONFIG_ADMIN_CUSTOM_TABS_TABS="Admin Custom Tabs (tabs)"
|
||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_ADDFIELDS="Admin Fields (addfields)"
|
||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_CONDITIONS_ADDCONDITIONS="Admin Fields Conditions (addconditions)"
|
||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_FIELDS_RELATIONS_ADDRELATIONS="Admin Fields Relations (addrelations)"
|
||||
COM_COMPONENTBUILDER_CONFIG_ADMIN_VIEWS_AJAX_INPUT="Admin Views (ajax_input)"
|
||||
COM_COMPONENTBUILDER_CONFIG_ALMOST_FLAT_LOAD="Almost Flat"
|
||||
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERIC="Alphanumeric"
|
||||
COM_COMPONENTBUILDER_CONFIG_ALPHANUMERICDOT="Alphanumeric+dot"
|
||||
@ -3363,6 +3366,7 @@ COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_DESCRIPTION="Select your backu
|
||||
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_SERVER_LABEL="Cronjob Backup Server"
|
||||
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_TYPE_DESCRIPTION="Select how you would like to backup JCB"
|
||||
COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_TYPE_LABEL="Cronjob Backup type"
|
||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_ADMIN_VIEWS_AJAX_INPUT="Custom Admin Views (ajax_input)"
|
||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_DESCRIPTION="Here you can set the path to the custom folder"
|
||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_HINT="/home/user/custom"
|
||||
COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_LABEL="Custom Folder Path"
|
||||
@ -3564,6 +3568,7 @@ COM_COMPONENTBUILDER_CONFIG_SET_BROWSER_STORAGE_LABEL="Browser Storage"
|
||||
COM_COMPONENTBUILDER_CONFIG_SHOW="Show"
|
||||
COM_COMPONENTBUILDER_CONFIG_SHOW_ALL="Show All"
|
||||
COM_COMPONENTBUILDER_CONFIG_SIMPLEXMLELEMENT_CLASS="SimpleXMLElement Class"
|
||||
COM_COMPONENTBUILDER_CONFIG_SITE_VIEWS_AJAX_INPUT="Site Views (ajax_input)"
|
||||
COM_COMPONENTBUILDER_CONFIG_SMTP="SMTP"
|
||||
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_DESCRIPTION="Select yes if your SMTP host requires SMTP Authentication."
|
||||
COM_COMPONENTBUILDER_CONFIG_SMTPAUTH_LABEL="SMTP Authentication"
|
||||
@ -3608,6 +3613,7 @@ COM_COMPONENTBUILDER_CONFIG_VDM_PACKAGES="VDM Packages"
|
||||
COM_COMPONENTBUILDER_CONFIG_VIEW_FIELD_LABEL="View & Field"
|
||||
COM_COMPONENTBUILDER_CONFIG_YES="Yes"
|
||||
COM_COMPONENTBUILDER_CONFIRMATION_STEP_BEFORE_IMPORTING="Confirmation Step Before Importing!"
|
||||
COM_COMPONENTBUILDER_CONNECT_AND_ENGAGE_WITH_LLEWELLYN_ON_JOOMLA_SOCIAL_EMPOWERING_COMMUNITIES_ONE_POST_AT_A_TIME="Connect and Engage with Llewellyn on Joomla Social: Empowering Communities, One Post at a Time!"
|
||||
COM_COMPONENTBUILDER_CONTEXT="Context"
|
||||
COM_COMPONENTBUILDER_CONTRIBUTE_TO_JCB="Contribute to JCB"
|
||||
COM_COMPONENTBUILDER_CONTRIBUTOR="Contributor"
|
||||
@ -4122,9 +4128,9 @@ COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_DESCRIPTION="The end hash target
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_HINT="autogenerated md5 hash"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_LABEL="End Hash Target"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHENDTARGET_MESSAGE="Error! Please add some text here."
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_DESCRIPTION="The start hash target to help insert the code at the correct place, if the line position change. This hash is the md5 of a few lines above the custom code"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_DESCRIPTION="The end hash target to help insert the code until the correct place, if the line position change. This hash is the md5 of a few lines below the custom code"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_HINT="autogenerated md5 hash"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_LABEL="Start Hash Target"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_LABEL="End Hash Target"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASHTARGET_MESSAGE="Error! Please add some text here."
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HASH_AUTOMATION="Hash (automation)"
|
||||
COM_COMPONENTBUILDER_CUSTOM_CODE_HTML="HTML"
|
||||
@ -4217,6 +4223,7 @@ COM_COMPONENTBUILDER_DISPLAY_SWITCH_FOR_DYNAMIC_PLACEMENT_IN_RELATION_TO_THE_USE
|
||||
COM_COMPONENTBUILDER_DIVERGED="Diverged"
|
||||
COM_COMPONENTBUILDER_DIVERGED_MEANS_YOUR_BLOCAL_SNIPPETB_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_HAS_A_BDIVERGEDB_FROM_THE_COMMUNITY_SNIPPET_WITH_THE_SAME_NAME_LIBRARY_AND_TYPE_IN_THAT_IT_DOES_NOT_HAVE_THE_SAME_BCREATIONB_OR_BMODIFIED_DATEB="Diverged means your <b>local snippet</b> (with the same name, library and type) has a <b>diverged</b> from the community snippet (with the same name, library and type) in that it does not have the same <b>creation</b> or <b>modified date</b>."
|
||||
COM_COMPONENTBUILDER_DOES_THIS_PACKAGE_REQUIRE_A_KEY_TO_INSTALL="Does this package require a key to install."
|
||||
COM_COMPONENTBUILDER_DONATE_TOWARDS_JCB_HELP_LLEWELLYN_FINANCIALLY_SO_HE_CAN_CONTINUE_DEVELOPING_THIS_GREAT_TOOL="Donate towards JCB: Help Llewellyn financially so he can continue developing this great tool!"
|
||||
COM_COMPONENTBUILDER_DONATE_TO_JCB="Donate to JCB"
|
||||
COM_COMPONENTBUILDER_DONATIONS="Donations!"
|
||||
COM_COMPONENTBUILDER_DOWNLOAD_UPDATE="Download Update"
|
||||
@ -4227,6 +4234,7 @@ COM_COMPONENTBUILDER_DTEMAILDTDDSDD="<dt>Email</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DTLICENSEDTDDSDD="<dt>License</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DTOWNERDTDDSDD="<dt>Owner</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DTWEBSITEDTDDSDD="<dt>Website</dt><dd>%s</dd>"
|
||||
COM_COMPONENTBUILDER_DURING_THE_INITIAL_COMPILATION_OF_ANY_COMPONENT_THE_PROCESS_MAY_TAKE_ADDITIONAL_TIME_AS_WE_RETRIEVE_AND_CONFIGURE_THE_ASSOCIATED_SUPERPOWERS_="During the initial compilation of any component, the process may take additional time as we retrieve and configure the associated super-powers.."
|
||||
COM_COMPONENTBUILDER_DYNAMIC_BUTTON_ERROR="Dynamic Button Error"
|
||||
COM_COMPONENTBUILDER_DYNAMIC_GET="Dynamic Get"
|
||||
COM_COMPONENTBUILDER_DYNAMIC_GETS="Dynamic Gets"
|
||||
@ -4562,6 +4570,7 @@ COM_COMPONENTBUILDER_EVERY_LANGUAGE="Every language"
|
||||
COM_COMPONENTBUILDER_EXACT_LENGTH_ONLY_FOUR_TEXT_FIELD="Exact Length (only 4 text_field)"
|
||||
COM_COMPONENTBUILDER_EXAMPLE="Example"
|
||||
COM_COMPONENTBUILDER_EXIT_TRASH="Exit trash"
|
||||
COM_COMPONENTBUILDER_EXPLORE_LEARN_AND_CREATE_WITH_LLEWELLYN_ON_YOUTUBE_YOUR_GATEWAY_TO_INSPIRATION="Explore, Learn, and Create with Llewellyn on YouTube: Your Gateway to Inspiration!"
|
||||
COM_COMPONENTBUILDER_EXPORTIMPORT_DATA="Export/Import Data"
|
||||
COM_COMPONENTBUILDER_EXPORT_COMPLETED="Export Completed!"
|
||||
COM_COMPONENTBUILDER_EXPORT_DATA="Export Data"
|
||||
@ -4729,6 +4738,8 @@ COM_COMPONENTBUILDER_FIELDTYPE_HAS_DEFAULTS_DESCRIPTION="set the database defaul
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_HAS_DEFAULTS_LABEL="Set Database Defaults"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_ID="Id"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INDEXES_LABEL="Indexes Type"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS="Fieldtype Init Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INT="INT"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_JSON="JSON"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_KEY="KEY"
|
||||
@ -4770,6 +4781,10 @@ COM_COMPONENTBUILDER_FIELDTYPE_PERMISSION="Permissions"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_DESCRIPTION="Options for this field"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PROPERTIES_LABEL="Properties"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS="Fieldtype Push Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS="Fieldtype Reset Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Fieldtype to customise the alias."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_SELECT_AN_OPTION="Select an option"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_SEVEN="7"
|
||||
@ -5505,8 +5520,6 @@ COM_COMPONENTBUILDER_JCB_PACKAGE_INFO_PATH_DOES_NOT_WORK_WE_ADVICE_YOU_BNOT_TO_C
|
||||
COM_COMPONENTBUILDER_JCB_PROMOTES_EFFICIENCY="JCB Promotes Efficiency"
|
||||
COM_COMPONENTBUILDER_JCB_PROMOTES_GOODWILL="JCB Promotes Goodwill"
|
||||
COM_COMPONENTBUILDER_JCB_PROVIDES_A_BETTER_EXPERIENCE="JCB Provides a Better Experience"
|
||||
COM_COMPONENTBUILDER_JCB_PRO_BOARD="JCB Pro board"
|
||||
COM_COMPONENTBUILDER_JCB_PRO_NOTICE_BOARD="JCB Pro Notice Board"
|
||||
COM_COMPONENTBUILDER_JCB_REDUCES_DEVELOPMENT_COSTS="JCB Reduces Development Costs"
|
||||
COM_COMPONENTBUILDER_JCB_SAVES_TIME="JCB Saves Time"
|
||||
COM_COMPONENTBUILDER_JCB_STREAMLINES_DEVELOPMENT="JCB Streamlines Development"
|
||||
@ -5524,9 +5537,12 @@ COM_COMPONENTBUILDER_JCB_YOUR_SUPPORT_MATTERS_MOST="JCB: Your Support Matters Mo
|
||||
COM_COMPONENTBUILDER_JOIN_FIELDS="Join Fields"
|
||||
COM_COMPONENTBUILDER_JOIN_JCBS_COMMUNITY="Join JCB's Community"
|
||||
COM_COMPONENTBUILDER_JOIN_JCBS_JOURNEY="Join JCB's Journey"
|
||||
COM_COMPONENTBUILDER_JOIN_JCBS_LEAD_DEVELOPER_ON_JOOMLA_SOCIAL_A_MASTODON_INSTANCE="Join JCB's lead developer on Joomla! social a Mastodon instance."
|
||||
COM_COMPONENTBUILDER_JOIN_JCBS_MISSION="Join JCB's Mission"
|
||||
COM_COMPONENTBUILDER_JOIN_JCBS_SUCCESS="Join JCB's Success"
|
||||
COM_COMPONENTBUILDER_JOIN_JCBS_VISION="Join JCB's Vision"
|
||||
COM_COMPONENTBUILDER_JOIN_LLEWELLYN_ON_THE_JOOMLA_VOLUNTEER_PORTAL_SHAPING_THE_FUTURE_TOGETHER="Join Llewellyn on the Joomla Volunteer Portal: Shaping the Future Together!"
|
||||
COM_COMPONENTBUILDER_JOIN_THE_CONVERSATION_WITH_LLEWELLYN_ON_X_WHERE_IDEAS_TAKE_FLIGHT="Join the Conversation with Llewellyn on X: Where Ideas Take Flight!"
|
||||
COM_COMPONENTBUILDER_JOIN_TYPE="Join Type"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT="Joomla Component"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS="Joomla Components"
|
||||
@ -5733,6 +5749,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_DESCRIPTION="Globally Unique Identifi
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_HINT="Auto Generated"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_GUID_LABEL="GUID"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ID="Id"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE="Joomla Component Image"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION="The component image (product box) for the dashboard and install page, must be 300px X 300px."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL="Component Image"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
|
||||
@ -5859,7 +5876,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README="Readme"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL="README.md"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_DESCRIPTION="Should we remove all line breaks ("\r", "\n") from all language strings in this component."
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL="Remove line breaks<br /><small>from language strings</small>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_REMOVE_LINE_BREAKS_LABEL="Remove line breaks<br /><small>from language strings<br>This switch will be removed since it must always be true for J4+.</small>"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_LABEL="Sales Server"
|
||||
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Joomla Component to customise the alias."
|
||||
@ -7480,7 +7497,7 @@ COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_DESCRIPTION="There is no be
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_THREE_LABEL="No Behaviour"
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_DESCRIPTION="There is no behaviour set for this library. This means JCB will not add any files unless you custom code it in somewhere."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_NO_BEHAVIOUR_TWO_LABEL="No Behaviour"
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_DESCRIPTION="We are working on this feature it is not yet ready, but soon enough you will be able to build real Joomla library integration here."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_DESCRIPTION="To effectively integrate a PHP library into your component, leverage the [Powers] Area within JCB. This feature empowers you to seamlessly incorporate Composer packages as well as standard PHP class structures into your component, ensuring a robust and maintainable solution."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_LIBRARY_LABEL="Set Behaviour"
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_DESCRIPTION="All the library files linked to this library will always be added to a view if linked to the view."
|
||||
COM_COMPONENTBUILDER_LIBRARY_NOTE_YES_BEHAVIOUR_ONE_LABEL="Set Behaviour"
|
||||
@ -7520,6 +7537,8 @@ COM_COMPONENTBUILDER_LINK_LOCAL_DYNAMIC="Link & Local (dynamic)"
|
||||
COM_COMPONENTBUILDER_LINK_TO_THE_CONTRIBUTOR="Link to the contributor"
|
||||
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="loading"
|
||||
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"
|
||||
@ -7602,7 +7621,6 @@ COM_COMPONENTBUILDER_ONLY_ONE_COMPONENT_CAN_BE_CLONED_AT_A_TIME_PLEASE_SELECT_ON
|
||||
COM_COMPONENTBUILDER_ONLY_SZIP_FILE_WAS_REMOVED_THE_FROM_TMP_FOLDER_DURING_INSTALLATION="Only (%s.zip) file was removed the from tmp folder during installation!"
|
||||
COM_COMPONENTBUILDER_ONLY_USE_THE_BNONE_DBB_OPTION_IF_YOU_ARE_PLANNING_ON_TARGETING_THIS_FIELD_WITH_JAVASCRIPTCUSTOM_PHP_TO_MOVE_ITS_VALUE_INTO_ANOTHER_FIELD_THAT_DOES_GET_SAVED_TO_THE_DATABASE="Only use the <b>None DB</b> option if you are planning on targeting this field with JavaScript/Custom PHP to move its value into another field that does get saved to the database."
|
||||
COM_COMPONENTBUILDER_OPEN_LIBRARY_SNIPPETS="Open Library Snippets"
|
||||
COM_COMPONENTBUILDER_OPTIONS="Options"
|
||||
COM_COMPONENTBUILDER_ORDER_BEFORE="Order Before"
|
||||
COM_COMPONENTBUILDER_ORDER_IN_EDIT="Order in Edit"
|
||||
COM_COMPONENTBUILDER_ORDER_IN_LIST_VIEWS="Order in list views"
|
||||
@ -7621,6 +7639,7 @@ COM_COMPONENTBUILDER_PATH_TO_THE_ZIPPED_PACKAGE_IS_CODESCODE_BR_S_S="Path to the
|
||||
COM_COMPONENTBUILDER_PERMISSIONS="Permissions"
|
||||
COM_COMPONENTBUILDER_PERMISSION_DENIED="Permission Denied!"
|
||||
COM_COMPONENTBUILDER_PFILE_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>File at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_FIELD_TYPEB_REPOSITORY_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>Joomla Field Type</b> repository at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_POWERB_REPOSITORY_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP="<p>Joomla Power</b> repository at <b>%s/%s</b> gave the following error!<br />%s</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_NOT_FOUNDP="<p>Joomla Power <b>guid:%s</b> not found!</p>"
|
||||
COM_COMPONENTBUILDER_PJOOMLA_POWER_BGUIDSB_WAS_FOUND_BUT_MISSING_A_NAMESPACE_VALUE_FOR_JOOMLA_SP="<p>Joomla Power <b>guid:%s</b> was found, but missing a namespace value for Joomla %s!</p>"
|
||||
@ -7873,6 +7892,8 @@ COM_COMPONENTBUILDER_POWER_PROPERTY_LABEL="Properties"
|
||||
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_DESCRIPTION="Select properties you want to use in your power."
|
||||
COM_COMPONENTBUILDER_POWER_PROPERTY_SELECTION_LABEL="Property Selection"
|
||||
COM_COMPONENTBUILDER_POWER_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS="Power Push Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_POWER_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Power to customise the alias."
|
||||
@ -7912,6 +7933,7 @@ COM_COMPONENTBUILDER_PUSH_FAILED="Push Failed!"
|
||||
COM_COMPONENTBUILDER_README="Readme"
|
||||
COM_COMPONENTBUILDER_READY_TO_COMPILE_A_COMPONENT="Ready to compile a component"
|
||||
COM_COMPONENTBUILDER_REFRESH="Refresh"
|
||||
COM_COMPONENTBUILDER_REFRESH_FEED="Refresh Feed"
|
||||
COM_COMPONENTBUILDER_REGEX_SEARCH="Regex Search"
|
||||
COM_COMPONENTBUILDER_REMOVE="Remove"
|
||||
COM_COMPONENTBUILDER_REMOVING_ALL_ZIP_PACKAGES_FROM_THE_TEMPORARY_FOLDER_OF_THE_JOOMLA_INSTALL="Removing all zip packages from the temporary folder of the Joomla install"
|
||||
@ -7969,6 +7991,8 @@ COM_COMPONENTBUILDER_REPOSITORIES_SUBMENU_DESC="Allows the users in this group t
|
||||
COM_COMPONENTBUILDER_REPOSITORY="Repository"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION="Set the access options to this repository"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL="Access"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_DESCRIPTION="Set dnamic placeholders for this component."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ADDPLACEHOLDERS_LABEL="Placeholders"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_DESCRIPTION="Enter Base URL"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_HINT="https://git.vdm.dev"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL="Base URL"
|
||||
@ -7987,6 +8011,7 @@ COM_COMPONENTBUILDER_REPOSITORY_GUID_DESCRIPTION="Globally Unique Identifier"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_GUID_HINT="Auto Generated"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_GUID_LABEL="GUID"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ID="Id"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_FIELD_TYPES="Joomla Field Types"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER="Joomla Power"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_DESC="The last user that modified this Repository."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_LABEL="Modified By"
|
||||
@ -8000,6 +8025,9 @@ COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL="Organisation"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_MESSAGE="Error! Please add organisation here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_OVERRIDE="Override"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PERMISSION="Permissions"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDERS="Placeholders"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_DESCRIPTION="<p>When powers are connected to components, we utilize global placeholders. These placeholders are linked to the specific component, allowing for dynamic updates to any placeholders found within the powers. However, when we directly <b>push</b> powers from the powers area to this repository, we require <b>placeholders</b> that are specific to this repository.</p><p>You can add these repository-specific placeholders here. Please note that these placeholders are only utilized during direct pushes from the powers area and are not considered during the compilation of any component. Although you can use the same placeholders to ensure consistent outcomes, they technically have no direct relationship with the components.</p>"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PLACEHOLDER_NOTE_LABEL="The Repository Placeholders"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_PUBLISHING="Publishing"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_DESCRIPTION="The read branch to use in the API calls."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_HINT="[master]"
|
||||
@ -8016,7 +8044,9 @@ COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_HINT="The System Name Here"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_LABEL="System Name"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_MESSAGE="Error! Please add some text here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_DESCRIPTION="The target content this repository holds."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_HINT="coral"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL="Target Content"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TARGET_MESSAGE="Error! That target placeholder text already exist. Please add an unique placeholder target."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_DESCRIPTION="This token is used to access the api."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_HINT="Access Tokens"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_TOKEN_LABEL="Access Token"
|
||||
@ -8026,6 +8056,10 @@ COM_COMPONENTBUILDER_REPOSITORY_USERNAME_DESCRIPTION="The username to use in the
|
||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_HINT="Username"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_LABEL="Username"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_USERNAME_MESSAGE="Error! Please add username here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_DESCRIPTION="Set the text you would like to set as the replacement value for the targeted placeholder."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_HINT="membersmanager"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_LABEL="Set String Value"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VALUE_MESSAGE="Error! Please add some set target value here."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VERSION_DESC="A count of the number of times this Repository has been revised."
|
||||
COM_COMPONENTBUILDER_REPOSITORY_VERSION_LABEL="Version"
|
||||
COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_DESCRIPTION="The write branch to use in the API calls. This can be the same as the read branch."
|
||||
@ -8885,6 +8919,7 @@ COM_COMPONENTBUILDER_SUBMENU_SNIPPETS="Snippets"
|
||||
COM_COMPONENTBUILDER_SUBMENU_TEMPLATES="Templates"
|
||||
COM_COMPONENTBUILDER_SUBMENU_VALIDATION_RULES="Validation Rules"
|
||||
COM_COMPONENTBUILDER_SUCCESS="Success"
|
||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_FIELD_TYPES="Successfully Initialized all Remote Joomla Field Types"
|
||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_JOOMLA_POWERS="Successfully Initialized all Remote Joomla Powers"
|
||||
COM_COMPONENTBUILDER_SUCCESSFULLY_INITIALIZED_ALL_REMOTE_POWERS="Successfully Initialized all Remote Powers"
|
||||
COM_COMPONENTBUILDER_SUCCESS_THE_SNIPPET_WAS_SAVED="Success! The snippet was saved."
|
||||
@ -9033,11 +9068,14 @@ COM_COMPONENTBUILDER_THERE_WAS_AN_ERROR_GETTING_THE_PACKAGE_INFO="There was an e
|
||||
COM_COMPONENTBUILDER_THERE_WAS_A_PROBLEM_BNO_VIEW_OR_ID_FOUND_IN_SESSION_OR_VIEW_NOT_ALLOWED_TO_ACCESS_AREAB_WE_COULD_NOT_LOAD_ANY_LINKED_TO_VALUES_PLEASE_INFORM_YOUR_SYSTEM_ADMINISTRATOR="There was a problem, <b>no view or id found in session or view not allowed to access area</b>, we could not load any linked to values. Please inform your system administrator!"
|
||||
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free."
|
||||
COM_COMPONENTBUILDER_THESE_ARE_THE_SAME_PACKAGES_FOUND_ON_A_S_GITHUBA_AND_CAN_BE_IMPORTED_BY_SIMPLY_MAKING_A_SELECTION_AND_THEN_CLICKING_THE_BGET_PACKAGEB_BUTTONBR_SOME_OF_THESE_PACKAGES_WOULD_REQUIRE_A_KEY_SINCE_THEY_ARE_NOT_FREE_A_S_GET_A_KEY_TODAYA="These are the same packages found on <a %s >gitHub</a> and can be imported by simply making a selection and then clicking the <b>[Get Package]</b> button.<br />Some of these packages would require a key, since they are not free. <a %s >Get a key today!</a>."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla powers have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla Field Types have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_FIELD_TYPES_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla Field Types have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Joomla Powers have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_JOOMLA_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Joomla Powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_NOT_AVAILABLE_TO_THE_FIELD_IF_BNONE_DBB_OPTION_IS_SELECTED="These options are not available to the field if <b>None DB</b> option is selected."
|
||||
COM_COMPONENTBUILDER_THESE_OPTIONS_ARE_ONLY_AVAILABLE_TO_THE_FIELD_IF_BSHOW_IN_LIST_VIEWB_OPTION_IS_SELECTED="These options are only available to the field if <b>Show in list view</b> option is selected."
|
||||
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_PUSHED="These Powers have successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THESE_POWERS_HAVE_SUCCESSFULLY_BEEN_RESET="These Powers have successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_ADMIN_CUSTOM_TABS="The admin custom tabs"
|
||||
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS="The admin fields"
|
||||
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_CONDITIONS="The admin fields conditions"
|
||||
@ -9082,15 +9120,19 @@ COM_COMPONENTBUILDER_THE_FILE_PATH_BSB_DOES_NOT_EXIST_AND_WAS_NOT_ADDED="The fil
|
||||
COM_COMPONENTBUILDER_THE_FOLDER_PATH_BSB_DOES_NOT_EXIST_AND_WAS_NOT_ADDED="The folder path: <b>%s</b> does not exist, and was not added!"
|
||||
COM_COMPONENTBUILDER_THE_FTP_CONNECTION_FOR_BSB_COULD_NOT_BE_MADE_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP connection for <b>%s</b> could not be made. Please check your signature details!"
|
||||
COM_COMPONENTBUILDER_THE_FTP_SIGNATURE_FOR_BSB_WAS_NOT_WELL_FORMED_PLEASE_CHECK_YOUR_SIGNATURE_DETAILS="The FTP signature for <b>%s</b> was not well formed, please check your signature details!"
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_POWERS_HAS_FAILED="The initialization of this Joomla powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED="The initialization of this powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla power has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla power has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_FIELD_TYPES_HAS_FAILED="The initialization of this Joomla Field Types has failed."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_JOOMLA_POWERS_HAS_FAILED="The initialization of this Joomla Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_INITIALIZATION_OF_THIS_POWERS_HAS_FAILED="The initialization of this Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla Field Type has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_FIELD_TYPE_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla Field Type has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The Joomla Power has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_JOOMLA_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The Joomla Power has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_KEY_OF_THIS_PACKAGE="The key of this package."
|
||||
COM_COMPONENTBUILDER_THE_LIBRARY_CONFIG_FIELDS="The library config fields"
|
||||
COM_COMPONENTBUILDER_THE_LIBRARY_FILES_FOLDERS_URLS="The library files, folders & URLs"
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_FIELD_TYPES_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla Field Types has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_JOOMLA_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Joomla Powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOCAL_DATABASE_POWERS_HAS_SUCCESSFULLY_BEEN_SYNCED_WITH_THE_REMOTE_REPOSITORIES="The local database Powers has successfully been synced with the remote repositories."
|
||||
COM_COMPONENTBUILDER_THE_LOGIN_TO_BSB_HAS_FAILED_PLEASE_CHECK_THAT_YOUR_DETAILS_ARE_CORRECT="The login to <b>%s</b> has failed, please check that your details are correct!"
|
||||
COM_COMPONENTBUILDER_THE_MODULE_FILES_FOLDERS="The module files & folders"
|
||||
COM_COMPONENTBUILDER_THE_MODULE_UPDATES="The module updates"
|
||||
@ -9101,17 +9143,23 @@ COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_CODESCODE="The package key is: <code>%s<
|
||||
COM_COMPONENTBUILDER_THE_PACKAGE_KEY_IS_S="The package key is: %s"
|
||||
COM_COMPONENTBUILDER_THE_PLUGIN_FILES_FOLDERS="The plugin files & folders"
|
||||
COM_COMPONENTBUILDER_THE_PLUGIN_UPDATES="The plugin updates"
|
||||
COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_PUSHED="The power has successfully been pushed."
|
||||
COM_COMPONENTBUILDER_THE_POWER_HAS_SUCCESSFULLY_BEEN_RESET="The power has successfully been reset."
|
||||
COM_COMPONENTBUILDER_THE_PRIVATE_KEY_FIELD_COULD_NOT_BE_LOADED_FOR_BSB_SERVER="The private key field could not be loaded for <b>%s</b> server!"
|
||||
COM_COMPONENTBUILDER_THE_PRIVATE_KEY_FILE_COULD_NOT_BE_LOADEDFOUND_FOR_BSB_SERVER="The private key file could not be loaded/found for <b>%s</b> server!"
|
||||
COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING="The pro board is loading"
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The push of these Joomla powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_POWER_HAS_FAILED="The push of this Joomla power has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED="The push of these Joomla Field Types has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The push of these Joomla Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THESE_POWERS_HAS_FAILED="The push of these Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED="The push of this Joomla Field Type has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_JOOMLA_POWER_HAS_FAILED="The push of this Joomla Power has failed."
|
||||
COM_COMPONENTBUILDER_THE_PUSH_OF_THIS_POWER_HAS_FAILED="The push of this power has failed."
|
||||
COM_COMPONENTBUILDER_THE_README_IS_LOADING="The readme is loading"
|
||||
COM_COMPONENTBUILDER_THE_REPLACE_PROCESS_HAD_AN_ERROR_WITH_TABLE="The replace process had an error with table"
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The reset of these Joomla powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED="The reset of these powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_POWER_HAS_FAILED="The reset of this Joomla power has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_FIELD_TYPES_HAS_FAILED="The reset of these Joomla Field Types has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_JOOMLA_POWERS_HAS_FAILED="The reset of these Joomla Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THESE_POWERS_HAS_FAILED="The reset of these Powers has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_FIELD_TYPE_HAS_FAILED="The reset of this Joomla Field Type has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_JOOMLA_POWER_HAS_FAILED="The reset of this Joomla Power has failed."
|
||||
COM_COMPONENTBUILDER_THE_RESET_OF_THIS_POWER_HAS_FAILED="The reset of this power has failed."
|
||||
COM_COMPONENTBUILDER_THE_SEARCH_FOR_THE_SNIPPETS_ARE_CASE_SENSITIVE_SO_IF_YOU_CHANGED_THE_LOCAL_BNAMESB_OF_EITHER_OR_THE_BSNIPPET_LIBRARY_OR_SNIPPET_TYPESB_IN_ANY_SMALL_WAY_THE_SYSTEM_WILL_NOT_BE_ABLE_TO_CONNECT_YOUR_LOCAL_SNIPPETS_WITH_THOSE_IN_THE_COMMUNITY_REPOSITORY_SO_WE_STRONGLY_ADVICE_TO_BKEEP_TO_THE_COMMUNITY_NAMINGB_TO_AVOID_MISMATCHING_THAT_WILL_IN_TURN_CAUSE_DUPLICATION_SO_IF_YOU_CHANGED_ANY_NAMES_JUST_CHANGE_THEM_BACK_AND_ALL_WILL_AGAIN_WORK_AS_EXPECTED="The search for the snippets are case sensitive so if you changed the local <b>names</b> of either or the <b>snippet, library or snippet types</b> in any small way, the system will not be able to connect your local snippets with those in the community repository. So we strongly advice to <b>keep to the community naming</b> to avoid mismatching, that will in turn cause duplication. So if you changed any names, just change them back and all will again work as expected."
|
||||
COM_COMPONENTBUILDER_THE_SEARCH_PROCESS_HAD_AN_ERROR_WITH_TABLE="The search process had an error with table"
|
||||
@ -9206,14 +9254,18 @@ COM_COMPONENTBUILDER_TYPE_TEMPLATE="Template"
|
||||
COM_COMPONENTBUILDER_TYPE_VALIDATION_RULE="Validation Rule"
|
||||
COM_COMPONENTBUILDER_UNACTIVE_ONLY_FOUR_TEXT_FIELD="Unactive (only 4 text_field)"
|
||||
COM_COMPONENTBUILDER_UNDERNEATH_TABS="Underneath Tabs"
|
||||
COM_COMPONENTBUILDER_UNLOCK_TRUST_AND_SECURITY_WITH_LLEWELLYNS_GPG_KEY_YOUR_GATEWAY_TO_VERIFIED_CONNECTIONS="Unlock Trust and Security with Llewellyn's GPG Key: Your Gateway to Verified Connections!"
|
||||
COM_COMPONENTBUILDER_UPDATE="Update"
|
||||
COM_COMPONENTBUILDER_UPDATE_ALL="Update All"
|
||||
COM_COMPONENTBUILDER_UPDATE_ALL_DIVERGED_SNIPPETS="Update All Diverged Snippets"
|
||||
COM_COMPONENTBUILDER_UPDATE_ALL_ITEMS_FOUND_WITH_THIS_DATABASE_SEARCH_WITH_THE_REPLACE_VALUE="Update all items found with this database search, with the replace value."
|
||||
COM_COMPONENTBUILDER_UPDATE_ALL_OUT_DATED_SNIPPETS="Update All Out Dated Snippets"
|
||||
COM_COMPONENTBUILDER_UPDATE_OF_USER_S_S_FAILEDS="Update of user %s (%s) failed!%s"
|
||||
COM_COMPONENTBUILDER_UP_TO_DATE="Up to date"
|
||||
COM_COMPONENTBUILDER_USAGE="Usage"
|
||||
COM_COMPONENTBUILDER_USED_IN="Used in"
|
||||
COM_COMPONENTBUILDER_USER_CREATION_FAILED="User creation failed!"
|
||||
COM_COMPONENTBUILDER_USER_S_S_CREATION_FAILEDS="User %s (%s) creation failed!%s"
|
||||
COM_COMPONENTBUILDER_USE_BATCH="Use Batch"
|
||||
COM_COMPONENTBUILDER_USE_BATCH_DESC="Allows users in this group to use batch copy/update method."
|
||||
COM_COMPONENTBUILDER_USE_KEY="Use Key"
|
||||
@ -9301,7 +9353,6 @@ COM_COMPONENTBUILDER_VALIDATION_RULE_STATUS="Status"
|
||||
COM_COMPONENTBUILDER_VALIDATION_RULE_VERSION_DESC="A count of the number of times this Validation Rule has been revised."
|
||||
COM_COMPONENTBUILDER_VALIDATION_RULE_VERSION_LABEL="Version"
|
||||
COM_COMPONENTBUILDER_VALUE="Value"
|
||||
COM_COMPONENTBUILDER_VDM_BOARD="VDM board"
|
||||
COM_COMPONENTBUILDER_VDM_NOTICE_BOARD="VDM Notice Board"
|
||||
COM_COMPONENTBUILDER_VDM_PACKAGES="VDM Packages"
|
||||
COM_COMPONENTBUILDER_VERSION="Version"
|
||||
@ -9359,14 +9410,18 @@ COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_ACCESS_THE_SERVER_DETAILS_BS_
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_DOWNLOAD_THE_COMPILER_ANIMATIONS="You do not have permission to download the compiler animations!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_POWERS="You do not have permission to initialize Joomla powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_POWERS="You do not have permission to initialize powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_FIELD_TYPES="You do not have permission to initialize Joomla Field Types"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_JOOMLA_POWERS="You do not have permission to initialize Joomla Powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INITIALIZE_POWERS="You do not have permission to initialize Powers"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THESE_EXTENSIONS="You do not have permission to install these extensions!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_COMPONENT="You do not have permission to install the component!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_MODULE="You do not have permission to install the module!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_INSTALL_THE_PLUGIN="You do not have permission to install the plugin!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_POWER="You do not have permission to push this Joomla power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_POWER="You do not have permission to reset this Joomla power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_FIELD_TYPE="You do not have permission to push this Joomla Field Type"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_JOOMLA_POWER="You do not have permission to push this Joomla Power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_PUSH_THIS_POWER="You do not have permission to push this power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_FIELD_TYPE="You do not have permission to reset this Joomla Field Type"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_JOOMLA_POWER="You do not have permission to reset this Joomla Power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_THIS_POWER="You do not have permission to reset this power"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_GET_BOILERPLATE_MODULE="You do not have permission to run the get boilerplate module!"
|
||||
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_TRANSLATOR_MODULE="You do not have permission to run the translator module!"
|
||||
@ -9378,7 +9433,8 @@ COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_PLACEHOLDER="You must add an unique
|
||||
COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME="You must add an unique validation rule name."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_ENABLE_THE_BTIDYB_EXTENSION_IN_YOUR_PHPINI_FILE_SO_WE_CAN_TIDY_UP_YOUR_XML_IF_YOU_NEED_HELP_PLEASE_A_SSTART_HEREA="You must enable the <b>Tidy</b> extension in your php.ini file so we can tidy up your xml! If you need help please <a %s>start here</a>!"
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE="You must first link an admin or a custom admin view to this component, then you can select it here"
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla power, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_FIELD_TYPE_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla Field Type, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_JOOMLA_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the Joomla Power, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_FIRST_SAVE_THE_POWER_BEFORE_YOU_CAN_USE_THIS_FEATURE="You must first save the power, before you can use this feature."
|
||||
COM_COMPONENTBUILDER_YOU_MUST_SELECT_A_COMPONENT="You must select a component!"
|
||||
COM_COMPONENTBUILDER_YOU_SHOULD_ADD_THE_CORRECT_OWNER_DETAILS="You should add the correct owner details."
|
||||
|
@ -588,6 +588,12 @@ COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
|
||||
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
|
||||
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
|
||||
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS="Fieldtype Init Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS="Fieldtype Push Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS="Fieldtype Reset Button Access"
|
||||
COM_COMPONENTBUILDER_FIELDTYPE_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS="Get Snippets Access"
|
||||
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC="Allows the users in this group to access get snippets."
|
||||
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets Custom Admin Views Button Access"
|
||||
@ -1049,6 +1055,8 @@ COM_COMPONENTBUILDER_POWERS_SUBMENU="Powers Submenu"
|
||||
COM_COMPONENTBUILDER_POWERS_SUBMENU_DESC="Allows the users in this group to submenu of power"
|
||||
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS="Power Init Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_INIT_BUTTON_ACCESS_DESC="Allows the users in this group to access the init button."
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS="Power Push Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_PUSH_BUTTON_ACCESS_DESC="Allows the users in this group to access the push button."
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS="Power Reset Button Access"
|
||||
COM_COMPONENTBUILDER_POWER_RESET_BUTTON_ACCESS_DESC="Allows the users in this group to access the reset button."
|
||||
COM_COMPONENTBUILDER_REPOSITORIES_ACCESS="Repositories Access"
|
||||
|
@ -20,8 +20,8 @@ use Joomla\CMS\Layout\LayoutHelper;
|
||||
|
||||
|
||||
?>
|
||||
<div class="well well-small">
|
||||
<h2 class="module-title nav-header"><?= Text::_('COM_COMPONENTBUILDER_JCB_PRO_NOTICE_BOARD') ?></h2>
|
||||
<div class="proboard-md"><small><?= Text::_('COM_COMPONENTBUILDER_THE_PRO_BOARD_IS_LOADING') ?><span class="loading-dots">.</span></small></div>
|
||||
<div style="text-align:right;"><small><a href="https://vdm.bz/get-jcb-pro-membership" target="_blank" style="color:gray">JCB PRO</a></small></div>
|
||||
</div>
|
||||
<div id="noticeboard">
|
||||
<?php echo LayoutHelper::render('mastodon', $displayData ?? []); ?>
|
||||
</div>
|
||||
<?php echo LayoutHelper::render('socialnetworking', null); ?>
|
||||
<div><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('JPATH_BASE') or die('Restricted access');
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Layout\LayoutHelper;
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<div id="<?php echo $displayData['id']; ?>">
|
||||
<?php echo Html::_('bootstrap.startTabSet', $displayData['id'] . '_tab', array('active' => $displayData['active'] . '-noticeboard')); ?>
|
||||
<?php echo Html::_('bootstrap.addTab', $displayData['id'] . '_tab', 'vdm-noticeboard', Text::_('COM_COMPONENTBUILDER_VDM_BOARD', true)); ?>
|
||||
<?php echo LayoutHelper::render('jcbnoticeboardvdm', null); ?>
|
||||
<div class="p-md-3"><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
||||
<?php echo Html::_('bootstrap.endTab'); ?>
|
||||
<?php echo Html::_('bootstrap.addTab', $displayData['id'] . '_tab', 'pro-noticeboard', Text::_('COM_COMPONENTBUILDER_JCB_PRO_BOARD', true)); ?>
|
||||
<?php echo LayoutHelper::render('jcbnoticeboardpro', null); ?>
|
||||
<div class="p-md-3"><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
|
||||
<?php echo Html::_('bootstrap.endTab'); ?>
|
||||
<?php echo Html::_('bootstrap.endTabSet'); ?>
|
||||
</div>
|
@ -1,27 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('JPATH_BASE') or die('Restricted access');
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Layout\LayoutHelper;
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<div class="well well-small">
|
||||
<h2 class="module-title nav-header"><?= Text::_('COM_COMPONENTBUILDER_VDM_NOTICE_BOARD') ?><span class="vdm-new-notice" style="display:none; color:red;"> (<?= Text::_('COM_COMPONENTBUILDER_NEW_NOTICE') ?>)</span></h2>
|
||||
<div class="noticeboard-md"><small><?= Text::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING') ?><span class="loading-dots">.</span></small></div>
|
||||
<div style="text-align:right;"><small><a href="https://github.com/Llewellynvdm" target="_blank" style="color:gray"><<ewe>>yn</a></small></div>
|
||||
</div>
|
71
admin/layouts/mastodon.php
Normal file
71
admin/layouts/mastodon.php
Normal file
@ -0,0 +1,71 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('JPATH_BASE') or die('Restricted access');
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Layout\LayoutHelper;
|
||||
|
||||
// Extract all keys from $displayData as individual variables.
|
||||
extract($displayData ?? []);
|
||||
|
||||
// The 'id' parameter, defaulting to mastodon-feed.
|
||||
$id ??= 'mastodon-feed';
|
||||
|
||||
// The button 'id' parameter, defaulting to refresh-feed.
|
||||
$button_id ??= 'refresh-feed';
|
||||
|
||||
// The mastodon instance URL
|
||||
$instance ??= 'https://joomla.social';
|
||||
|
||||
// The user account ID
|
||||
$account ??= '112766899254600077';
|
||||
|
||||
// The number of post to load
|
||||
$posts ??= 5;
|
||||
|
||||
// The 'invite_url' parameter, defaulting to https://joomla.social/invite/gzAvC48K.
|
||||
$invite_url ??= 'https://joomla.social/invite/gzAvC48K';
|
||||
|
||||
// The 'invite_heading' parameter.
|
||||
$invite_heading ??= Text::_("COM_COMPONENTBUILDER_LLEWELLYNS_JOOMLA_SOCIAL_FEED");
|
||||
|
||||
// The 'invite_title' parameter.
|
||||
$invite_title ??= Text::_("COM_COMPONENTBUILDER_JOIN_JCBS_LEAD_DEVELOPER_ON_JOOMLA_SOCIAL_A_MASTODON_INSTANCE");
|
||||
|
||||
?>
|
||||
<div class="well well-small mastadon-display-block">
|
||||
<h2>
|
||||
<a
|
||||
href="<?php echo $invite_url; ?>"
|
||||
title="<?php echo $invite_title; ?>">
|
||||
<?php echo $invite_heading; ?>
|
||||
</a>
|
||||
<a
|
||||
type="button"
|
||||
id="<?php echo $button_id; ?>"
|
||||
href="#"
|
||||
title="<?php echo Text::_('COM_COMPONENTBUILDER_REFRESH_FEED'); ?>">
|
||||
<i class="icon-loop"></i>
|
||||
</a>
|
||||
</h2>
|
||||
<div id="<?php echo $id; ?>"
|
||||
data-instance="<?php echo $instance; ?>"
|
||||
data-account-id="<?php echo $account; ?>"
|
||||
data-post-count="<?php echo $posts; ?>">
|
||||
</div>
|
||||
<script>
|
||||
new MastodonFeed("<?php echo $id; ?>", "<?php echo $button_id; ?>");
|
||||
</script>
|
||||
</div>
|
45
admin/layouts/repository/placeholders_fullwidth.php
Normal file
45
admin/layouts/repository/placeholders_fullwidth.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
// get the form
|
||||
$form = $displayData->getForm();
|
||||
|
||||
// get the layout fields override method name (from layout path/ID)
|
||||
$layout_path_array = explode('.', $this->getLayoutId());
|
||||
// Since we cannot pass the layout and tab names as parameters to the model method
|
||||
// this name combination of tab and layout in the method name is the only work around
|
||||
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
|
||||
// example of layout name: details_left.php
|
||||
// example of method name: getFields_details_left()
|
||||
$fields_tab_layout = 'fields_' . $layout_path_array[1];
|
||||
|
||||
// get the fields
|
||||
$fields = $displayData->get($fields_tab_layout) ?: array(
|
||||
'placeholder_note',
|
||||
'addplaceholders'
|
||||
);
|
||||
|
||||
$hiddenFields = $displayData->get('hidden_fields') ?: [];
|
||||
|
||||
?>
|
||||
<?php if ($fields && count((array) $fields)) :?>
|
||||
<div class="form-vertical">
|
||||
<?php foreach($fields as $field): ?>
|
||||
<?php if (in_array($field, $hiddenFields)) : ?>
|
||||
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
61
admin/layouts/socialnetworking.php
Normal file
61
admin/layouts/socialnetworking.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Component.Builder
|
||||
*
|
||||
* @created 30th April, 2015
|
||||
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('JPATH_BASE') or die('Restricted access');
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Layout\LayoutHelper;
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<div id="llewellyns-social-icons" class="social-icons" style="float: right;">
|
||||
<a href="https://volunteers.joomla.org/joomlers/1396-llewellyn-van-der-merwe" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_JOIN_LLEWELLYN_ON_THE_JOOMLA_VOLUNTEER_PORTAL_SHAPING_THE_FUTURE_TOGETHER'); ?>">
|
||||
<i class="icon-joomla"></i>
|
||||
</a>
|
||||
<a href="https://git.vdm.dev/octoleo" class="text-decoration-none me-2" data-description="--quiet">
|
||||
<i class="icon-shield"></i>
|
||||
</a>
|
||||
<a href="https://git.vdm.dev/Llewellyn" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_COLLABORATE_AND_INNOVATE_WITH_LLEWELLYN_ON_GIT_BUILDING_A_BETTER_CODE_FUTURE'); ?>">
|
||||
<i class="icon-tree"></i>
|
||||
</a>
|
||||
<a href="https://joomla.social/@llewellyn" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_CONNECT_AND_ENGAGE_WITH_LLEWELLYN_ON_JOOMLA_SOCIAL_EMPOWERING_COMMUNITIES_ONE_POST_AT_A_TIME'); ?>">
|
||||
<i class="icon-puzzle"></i>
|
||||
</a>
|
||||
<a href="https://x.com/llewellynvdm" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_JOIN_THE_CONVERSATION_WITH_LLEWELLYN_ON_X_WHERE_IDEAS_TAKE_FLIGHT'); ?>">
|
||||
<i class="icon-signup"></i>
|
||||
</a>
|
||||
<a href="https://github.com/Llewellynvdm" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_BUILD_INNOVATE_AND_THRIVE_WITH_LLEWELLYN_ON_GITHUB_TURNING_IDEAS_INTO_IMPACT'); ?>">
|
||||
<i class="icon-cog"></i>
|
||||
</a>
|
||||
<a href="https://www.youtube.com/@OctoYou" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_EXPLORE_LEARN_AND_CREATE_WITH_LLEWELLYN_ON_YOUTUBE_YOUR_GATEWAY_TO_INSPIRATION'); ?>">
|
||||
<i class="icon-youtube"></i>
|
||||
</a>
|
||||
<a href="https://hub.docker.com/u/llewellyn" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_LLEWELLYN_ON_DOCKER_CONTAINERIZE_YOUR_CREATIVITY'); ?>">
|
||||
<i class="icon-box-add"></i>
|
||||
</a>
|
||||
<a href="https://opencollective.com/joomla-component-builder" class="text-decoration-none me-2" data-description="<?php echo Text::_('COM_COMPONENTBUILDER_DONATE_TOWARDS_JCB_HELP_LLEWELLYN_FINANCIALLY_SO_HE_CAN_CONTINUE_DEVELOPING_THIS_GREAT_TOOL'); ?>">
|
||||
<i class="icon-heart"></i>
|
||||
</a>
|
||||
<a href="https://git.vdm.dev/Llewellyn/gpg" class="text-decoration-none" data-description="<?php echo Text::_("COM_COMPONENTBUILDER_UNLOCK_TRUST_AND_SECURITY_WITH_LLEWELLYNS_GPG_KEY_YOUR_GATEWAY_TO_VERIFIED_CONNECTIONS"); ?>">
|
||||
<i class="icon-key"></i>
|
||||
</a>
|
||||
</div>
|
||||
<br>
|
||||
<div id="llewellyns-social-icon-details" class="social-icon-details" style="float: right;"></div>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
new IconWaveAnimator("llewellyns-social-icons", "llewellyns-social-icon-details");
|
||||
});
|
||||
</script>
|
@ -18,15 +18,31 @@ use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Layout\LayoutHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
|
||||
$table_id = (isset($displayData['id'])) ? $displayData['id'] : StringHelper::random(7);
|
||||
$name = (isset($displayData['name'])) ? $displayData['name'] : false;
|
||||
$table_class = (isset($displayData['table_class'])) ? $displayData['table_class'] : 'uk-table';
|
||||
$table_container_class = (isset($displayData['table_container_class'])) ? $displayData['table_container_class'] : 'uk-overflow-auto';
|
||||
$headers = (isset($displayData['headers'])) ? $displayData['headers'] : [Text::_('COM_COMPONENTBUILDER_NO'), Text::_('COM_COMPONENTBUILDER_HEADERS'), Text::_('COM_COMPONENTBUILDER_FOUND')];
|
||||
$items = (isset($displayData['items'])) ? $displayData['items'] : 6;
|
||||
// Extract all keys from $displayData as individual variables.
|
||||
extract($displayData);
|
||||
|
||||
// Assign default values for variables that might not be present in $displayData.
|
||||
|
||||
// The 'table_id' parameter, defaulting to a randomly generated value if not set or is null.
|
||||
$table_id = $id ?? StringHelper::random(7);
|
||||
|
||||
// The 'name' parameter, defaulting to false if not set or is null.
|
||||
$name ??= false;
|
||||
|
||||
// The 'table_class' parameter, defaulting to 'uk-table' if not set or is null.
|
||||
$table_class ??= 'uk-table';
|
||||
|
||||
// The 'table_container_class' parameter, defaulting to 'uk-overflow-auto' if not set or is null.
|
||||
$table_container_class ??= 'uk-overflow-auto';
|
||||
|
||||
// The 'headers' parameter, defaulting to an array of default header values if not set or is null.
|
||||
$headers ??= [Text::_('COM_COMPONENTBUILDER_NO'), Text::_('COM_COMPONENTBUILDER_HEADERS'), Text::_('COM_COMPONENTBUILDER_FOUND')];
|
||||
|
||||
// The 'items' parameter, defaulting to 6 if not set or is null.
|
||||
$items ??= 6;
|
||||
|
||||
?>
|
||||
<div class="<?php echo $$table_container_class; ?>">
|
||||
<div class="<?php echo $table_container_class; ?>">
|
||||
<table id="<?php echo $table_id; ?>" class="<?php echo $table_class; ?>">
|
||||
<thead>
|
||||
<?php if (is_array($headers)): ?>
|
||||
|
@ -31,16 +31,16 @@ use Joomla\CMS\Layout\LayoutHelper;
|
||||
document.adminForm.elements['checkall-toggle'].checked=1;
|
||||
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
|
||||
// check to confirm the deletion
|
||||
if(confirm('<?= Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
||||
Joomla.submitbutton('<?= $displayData->get("name") ?>.delete');
|
||||
if(confirm('<?php echo Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
||||
Joomla.submitbutton('<?php echo $displayData->getName(); ?>.delete');
|
||||
} else {
|
||||
document.adminForm.elements['checkall-toggle'].checked=0;
|
||||
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
|
||||
}
|
||||
} else {
|
||||
// confirm deletion of those selected
|
||||
if (confirm('<?= Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
||||
Joomla.submitbutton('<?= $displayData->get("name") ?>.delete');
|
||||
if (confirm('<?php echo Text::_("COM_COMPONENTBUILDER_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
|
||||
Joomla.submitbutton('<?php echo $displayData->getName(); ?>.delete');
|
||||
};
|
||||
}
|
||||
return false;
|
||||
@ -56,23 +56,23 @@ use Joomla\CMS\Layout\LayoutHelper;
|
||||
<?php if (empty($displayData->items)): ?>
|
||||
<h4 class="alert-heading">
|
||||
<span class="icon-trash"></span>
|
||||
<?= Text::_("COM_COMPONENTBUILDER_TRASH_AREA") ?>
|
||||
<?php echo Text::_("COM_COMPONENTBUILDER_TRASH_AREA") ?>
|
||||
</h4>
|
||||
<p><?= Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASH_AREA_AND_YOU_DONT_HAVE_ANY_ITEMS_IN_TRASH_AT_THE_MOMENT") ?></p>
|
||||
<p><?php echo Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASH_AREA_AND_YOU_DONT_HAVE_ANY_ITEMS_IN_TRASH_AT_THE_MOMENT") ?></p>
|
||||
<?php else: ?>
|
||||
<h4 class="alert-heading">
|
||||
<span class="icon-trash"></span>
|
||||
<?= Text::_("COM_COMPONENTBUILDER_TRASHED_ITEMS") ?>
|
||||
<?php echo Text::_("COM_COMPONENTBUILDER_TRASHED_ITEMS") ?>
|
||||
</h4>
|
||||
<p><?= Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASHED_ITEMS") ?></p>
|
||||
<p><?php echo Text::_("COM_COMPONENTBUILDER_YOU_ARE_CURRENTLY_VIEWING_THE_TRASHED_ITEMS") ?></p>
|
||||
<button onclick="emptyTrash();" class="btn btn-small btn-danger">
|
||||
<span class="icon-delete" aria-hidden="true"></span>
|
||||
<?= Text::_("COM_COMPONENTBUILDER_EMPTY_TRASH") ?>
|
||||
<?php echo Text::_("COM_COMPONENTBUILDER_EMPTY_TRASH") ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<button onclick="exitTrash();" class="btn btn-small">
|
||||
<span class="icon-back" aria-hidden="true"></span>
|
||||
<?= Text::_("COM_COMPONENTBUILDER_EXIT_TRASH") ?>
|
||||
<?php echo Text::_("COM_COMPONENTBUILDER_EXIT_TRASH") ?>
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
@ -868,7 +868,7 @@ class ComponentbuilderModelAdmin_custom_tabs extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -899,7 +899,7 @@ class ComponentbuilderModelAdmin_fields extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -889,7 +889,7 @@ class ComponentbuilderModelAdmin_fields_conditions extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -114,7 +115,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_fields_relations__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_fields_relations__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -122,17 +123,17 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
SessionHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -187,7 +188,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_fields_relations__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_fields_relations__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -195,17 +196,17 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
ComponentbuilderHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_fields_relations__'.$id);
|
||||
SessionHelper::set('admin_fields_relations__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -959,7 +960,7 @@ class ComponentbuilderModelAdmin_fields_relations extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -263,7 +264,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -271,17 +272,17 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
SessionHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -612,7 +613,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -620,17 +621,17 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'admin_view__'.$id);
|
||||
SessionHelper::set('admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
// update the fields
|
||||
@ -799,6 +800,9 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
}
|
||||
}
|
||||
|
||||
// update the ajax_input (sub form) layout
|
||||
$form->setFieldAttribute('ajax_input', 'layout', ComponentbuilderHelper::getSubformLayout('admin_view', 'ajax_input'));
|
||||
|
||||
// update all editors to use this components global editor
|
||||
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
||||
// now get all the editor fields
|
||||
@ -1013,7 +1017,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1883,7 +1887,7 @@ class ComponentbuilderModelAdmin_view extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -28,6 +28,7 @@ use VDM\Joomla\Componentbuilder\Search\Factory as SearchFactory;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\GetHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\Base64Helper;
|
||||
use VDM\Joomla\Componentbuilder\Compiler\Utilities\FieldHelper;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
@ -164,35 +165,73 @@ class ComponentbuilderModelAjax extends ListModel
|
||||
}
|
||||
|
||||
/**
|
||||
* set the component display
|
||||
**/
|
||||
* Generate the component details display in HTML.
|
||||
*
|
||||
* @param object $object The component object containing details.
|
||||
* @return string The HTML string for displaying component details.
|
||||
*/
|
||||
protected function componentDetailsDisplay($object)
|
||||
{
|
||||
// set some vars
|
||||
$image = (StringHelper::check($object->image)) ? '<img alt="Joomla Component Image" src="'. Uri::root() . $object->image . '" style="float: right;">': '';
|
||||
$desc = (StringHelper::check($object->description)) ? $object->description : $object->short_description;
|
||||
$placeholder = ($object->add_placeholders == 1) ? '<span class="btn btn-small btn-success"> ' . Text::_('COM_COMPONENTBUILDER_YES') . ' </span>' : '<span class="btn btn-small btn-danger"> ' .Text::_('COM_COMPONENTBUILDER_NO') . ' </span>' ;
|
||||
$debug = ($object->debug_linenr == 1) ? '<span class="btn btn-small btn-success"> ' .Text::_('COM_COMPONENTBUILDER_YES') . '</span>' : ' <span class="btn btn-small btn-danger"> ' .Text::_('COM_COMPONENTBUILDER_NO') . ' </span>' ;
|
||||
$html = array();
|
||||
$html[] = '<h3>' . $object->name . ' (v' . $object->component_version . ')</h3>';
|
||||
$html[] = '<p>' . $desc . $image . '</p>';
|
||||
$html[] = '<ul>';
|
||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_COMPANY') . ': <b>' . $object->companyname . '</b></li>';
|
||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_AUTHOR') . ': <b>' . $object->author . '</b></li>';
|
||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_EMAIL') . ': <b>' . $object->email . '</b></li>';
|
||||
$html[] = '<li>' . Text::_('COM_COMPONENTBUILDER_WEBSITE') . ': <b>' . $object->website . '</b></li>';
|
||||
$html[] = '</ul>';
|
||||
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_COMPONENT_GLOBAL_SETTINGS') . '</h4>';
|
||||
// Helper variables with null coalescing to ensure robust value assignment
|
||||
$imageSrc = !empty($object->image) ? htmlspecialchars($object->image, ENT_QUOTES) : null;
|
||||
$image = $imageSrc
|
||||
? '<img alt="' . Text::_('COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE') . '" src="' . Uri::root() . $imageSrc . '" style="float: right; max-width: 250px; margin-left: 15px;">'
|
||||
: '';
|
||||
|
||||
$description = htmlspecialchars(!empty($object->description) ? $object->description : $object->short_description, ENT_QUOTES);
|
||||
|
||||
$placeholderStatus = $object->add_placeholders
|
||||
? '<span class="badge badge-success">' . Text::_('COM_COMPONENTBUILDER_YES') . '</span>'
|
||||
: '<span class="badge badge-danger">' . Text::_('COM_COMPONENTBUILDER_NO') . '</span>';
|
||||
|
||||
$debugStatus = $object->debug_linenr
|
||||
? '<span class="badge badge-success">' . Text::_('COM_COMPONENTBUILDER_YES') . '</span>'
|
||||
: '<span class="badge badge-danger">' . Text::_('COM_COMPONENTBUILDER_NO') . '</span>';
|
||||
|
||||
// Author and company details
|
||||
$company = '<ul>';
|
||||
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_COMPANY') . ':</strong> ' . htmlspecialchars($object->companyname, ENT_QUOTES) . '</li>';
|
||||
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_AUTHOR') . ':</strong> ' . htmlspecialchars($object->author, ENT_QUOTES) . '</li>';
|
||||
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_EMAIL') . ':</strong> <a href="mailto:' . htmlspecialchars($object->email, ENT_QUOTES) . '">' . htmlspecialchars($object->email, ENT_QUOTES) . '</a></li>';
|
||||
$company .= '<li><strong>' . Text::_('COM_COMPONENTBUILDER_WEBSITE') . ':</strong> <a href="' . htmlspecialchars($object->website, ENT_QUOTES) . '" target="_blank" rel="noopener">' . htmlspecialchars($object->website, ENT_QUOTES) . '</a></li>';
|
||||
$company .= '</ul>';
|
||||
|
||||
// Build HTML output
|
||||
$html = [];
|
||||
|
||||
// Header with component name and version
|
||||
$html[] = '<div class="component-details">';
|
||||
$html[] = '<h3>' . htmlspecialchars($object->name, ENT_QUOTES) . ' (v' . htmlspecialchars($object->component_version, ENT_QUOTES) . ')</h3>';
|
||||
|
||||
// Description with optional image
|
||||
$html[] = '<div class="description" style="overflow: hidden;">';
|
||||
$html[] = '<p>' . $image . $description . $company . '</p>';
|
||||
$html[] = '</div>';
|
||||
|
||||
// Component settings
|
||||
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_COMPONENT_SETTINGS') . '</h4>';
|
||||
$html[] = '<p>';
|
||||
$html[] = Text::_('COM_COMPONENTBUILDER_ADD_CUSTOM_CODE_PLACEHOLDERS') . '<br />' . $placeholder . '<br />';
|
||||
$html[] = Text::_('COM_COMPONENTBUILDER_DEBUG_LINE_NUMBERS') . '<br />' . $debug ;
|
||||
$html[] = Text::_('COM_COMPONENTBUILDER_ADD_CUSTOM_CODE_PLACEHOLDERS') . ': ' . $placeholderStatus . '<br>';
|
||||
$html[] = Text::_('COM_COMPONENTBUILDER_DEBUG_LINE_NUMBERS') . ': ' . $debugStatus;
|
||||
$html[] = '</p>';
|
||||
|
||||
// License details
|
||||
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_LICENSE') . '</h4>';
|
||||
$html[] = '<p>' . $object->license . '</p>';
|
||||
$html[] = '<p>' . nl2br(htmlspecialchars($object->license, ENT_QUOTES)) . '</p>';
|
||||
|
||||
// Copyright
|
||||
$html[] = '<h4>' . Text::_('COM_COMPONENTBUILDER_COPYRIGHT') . '</h4>';
|
||||
$html[] = '<p>' . $object->copyright . '<br /><br />';
|
||||
$html[] = '<a href="index.php?option=com_componentbuilder&ref=compiler&view=joomla_components&task=joomla_component.edit&id=' . (int) $object->id . '" class="btn btn-small span12"><span class="icon-edit"></span> ' . Text::_('COM_COMPONENTBUILDER_EDIT') . ' ' .$object->system_name . '</a></p>';
|
||||
// now return the diplay
|
||||
$html[] = '<p>' . nl2br(htmlspecialchars($object->copyright, ENT_QUOTES)) . '</p>';
|
||||
|
||||
// Edit button
|
||||
$html[] = '<p>';
|
||||
$html[] = '<a href="index.php?option=com_componentbuilder&ref=compiler&view=joomla_components&task=joomla_component.edit&id=' . (int) $object->id . '" class="btn btn-primary btn-block">';
|
||||
$html[] = '<span class="icon-edit"></span> ' . Text::_('COM_COMPONENTBUILDER_EDIT') . ' ' . htmlspecialchars($object->system_name, ENT_QUOTES);
|
||||
$html[] = '</a>';
|
||||
$html[] = '</p>';
|
||||
|
||||
$html[] = '</div>'; // Close component-details
|
||||
|
||||
return implode("\n", $html);
|
||||
}
|
||||
|
||||
@ -1595,7 +1634,7 @@ class ComponentbuilderModelAjax extends ListModel
|
||||
* @var array
|
||||
* @since 3.0.13
|
||||
*/
|
||||
protected $viewid = [];
|
||||
protected array $viewid = [];
|
||||
|
||||
/**
|
||||
* Get the view details via the session
|
||||
@ -1615,7 +1654,7 @@ class ComponentbuilderModelAjax extends ListModel
|
||||
if ($vdm)
|
||||
{
|
||||
// set view and id
|
||||
if ($view = ComponentbuilderHelper::get($vdm))
|
||||
if (($view = SessionHelper::get($vdm)) !== null)
|
||||
{
|
||||
$current = (array) explode('__', $view);
|
||||
if (StringHelper::check($current[0]) && isset($current[1]) && is_numeric($current[1]))
|
||||
@ -1628,7 +1667,7 @@ class ComponentbuilderModelAjax extends ListModel
|
||||
}
|
||||
}
|
||||
// set GUID if found
|
||||
if (($guid = ComponentbuilderHelper::get($vdm . '__guid')) !== false)
|
||||
if (($guid = SessionHelper::get($vdm . '__guid')) !== null)
|
||||
{
|
||||
if (GuidHelper::valid($guid))
|
||||
{
|
||||
@ -1636,7 +1675,7 @@ class ComponentbuilderModelAjax extends ListModel
|
||||
}
|
||||
}
|
||||
// set return if found
|
||||
if (($return = ComponentbuilderHelper::get($vdm . '__return')) !== false)
|
||||
if (($return = SessionHelper::get($vdm . '__return')) !== null)
|
||||
{
|
||||
if (StringHelper::check($return))
|
||||
{
|
||||
@ -1948,15 +1987,15 @@ class ComponentbuilderModelAjax extends ListModel
|
||||
{
|
||||
// check if we have GUID setup
|
||||
$validGUID = function ($guid) {
|
||||
if (method_exists('ComponentbuilderHelper', 'validGUID') && ComponentbuilderHelper::validGUID($guid))
|
||||
if (method_exists(ComponentbuilderHelper::class, 'validGUID') && ComponentbuilderHelper::validGUID($guid))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
// check if functions exists
|
||||
$guidEdit = method_exists('ComponentbuilderHelper', 'getEditButtonGUID');
|
||||
$getEdit = method_exists('ComponentbuilderHelper', 'getEditButton');
|
||||
$guidEdit = method_exists(ComponentbuilderHelper::class, 'getEditButtonGUID');
|
||||
$getEdit = method_exists(ComponentbuilderHelper::class, 'getEditButton');
|
||||
// reset bucket
|
||||
$bucket = array();
|
||||
if (UtilitiesArrayHelper::check($value))
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -118,7 +119,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_extends__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_extends__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -126,17 +127,17 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
SessionHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -195,7 +196,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_extends__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_extends__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -203,17 +204,17 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
ComponentbuilderHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_extends__'.$id);
|
||||
SessionHelper::set('class_extends__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -983,7 +984,7 @@ class ComponentbuilderModelClass_extends extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -122,7 +123,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_method__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_method__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -130,17 +131,17 @@ class ComponentbuilderModelClass_method extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
SessionHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -205,7 +206,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_method__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_method__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -213,17 +214,17 @@ class ComponentbuilderModelClass_method extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
ComponentbuilderHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_method__'.$id);
|
||||
SessionHelper::set('class_method__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -554,7 +555,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1056,7 +1057,7 @@ class ComponentbuilderModelClass_method extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -119,7 +120,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_property__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_property__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -127,17 +128,17 @@ class ComponentbuilderModelClass_property extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
SessionHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -196,7 +197,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('class_property__'.$id))
|
||||
if (($vdm = SessionHelper::get('class_property__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -204,17 +205,17 @@ class ComponentbuilderModelClass_property extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
ComponentbuilderHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'class_property__'.$id);
|
||||
SessionHelper::set('class_property__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -545,7 +546,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1041,7 +1042,7 @@ class ComponentbuilderModelClass_property extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -21,6 +21,10 @@ use Joomla\Utilities\ArrayHelper;
|
||||
use VDM\Joomla\Componentbuilder\Compiler\Helper\Compiler;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\JsonHelper;
|
||||
use Joomla\CMS\Filesystem\Folder;
|
||||
use Joomla\CMS\Filesystem\File;
|
||||
use Joomla\CMS\Installer\InstallerHelper;
|
||||
use Joomla\CMS\Installer\Installer;
|
||||
|
||||
/**
|
||||
* Componentbuilder List Model for Compiler
|
||||
@ -162,7 +166,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
jimport('joomla.filesystem.folder');
|
||||
jimport('joomla.filesystem.file');
|
||||
|
||||
if (JFolder::exists($dir))
|
||||
if (is_dir($dir))
|
||||
{
|
||||
$it = new RecursiveDirectoryIterator($dir);
|
||||
$it = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST);
|
||||
@ -171,19 +175,19 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
if ('.' === $file->getBasename() || '..' === $file->getBasename()) continue;
|
||||
if ($file->isDir())
|
||||
{
|
||||
JFolder::delete($file->getPathname());
|
||||
Folder::delete($file->getPathname());
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($file->getBasename() !== 'index.html')
|
||||
{
|
||||
JFile::delete($file->getPathname());
|
||||
File::delete($file->getPathname());
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($removeDir)
|
||||
{
|
||||
if (JFolder::delete($dir))
|
||||
if (Folder::delete($dir))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -228,7 +232,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
$tmp_dest = $config->get('tmp_path');
|
||||
|
||||
// Unpack the downloaded package file.
|
||||
$package = JInstallerHelper::unpack($tmp_dest . '/' . $p_file, true);
|
||||
$package = InstallerHelper::unpack($tmp_dest . '/' . $p_file, true);
|
||||
|
||||
// insure the install type is folder (JCB zip file is in the folder)
|
||||
$installType = 'folder';
|
||||
@ -253,7 +257,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
}
|
||||
|
||||
// Get an installer instance.
|
||||
$installer = JInstaller::getInstance();
|
||||
$installer = Installer::getInstance();
|
||||
|
||||
// Install the package.
|
||||
if (!$installer->install($package['dir']))
|
||||
@ -290,7 +294,7 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
$package['packagefile'] = $config->get('tmp_path') . '/' . $package['packagefile'];
|
||||
}
|
||||
|
||||
JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']);
|
||||
InstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']);
|
||||
|
||||
// Clear the cached extension data and menu cache
|
||||
$this->cleanCache('_system', 0);
|
||||
@ -308,10 +312,10 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
/**
|
||||
* Get all components in the system
|
||||
*
|
||||
* @return array
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function getComponents(): array
|
||||
public function getComponents(): ?array
|
||||
{
|
||||
// Get a db connection.
|
||||
$db = $this->getDbo();
|
||||
@ -334,9 +338,8 @@ class ComponentbuilderModelCompiler extends ListModel
|
||||
$db->setQuery($query);
|
||||
|
||||
// return the result
|
||||
return $db->loadObjectList();
|
||||
return $db->loadObjectList() ?? null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get all dynamic content
|
||||
|
@ -916,7 +916,7 @@ class ComponentbuilderModelComponent_admin_views extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -912,7 +912,7 @@ class ComponentbuilderModelComponent_config extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -915,7 +915,7 @@ class ComponentbuilderModelComponent_custom_admin_menus extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -916,7 +916,7 @@ class ComponentbuilderModelComponent_custom_admin_views extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -122,7 +123,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_dashboard__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_dashboard__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -130,17 +131,17 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
SessionHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -201,7 +202,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_dashboard__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_dashboard__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -209,17 +210,17 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
ComponentbuilderHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_dashboard__'.$id);
|
||||
SessionHelper::set('component_dashboard__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
// update the fields
|
||||
@ -1022,7 +1023,7 @@ class ComponentbuilderModelComponent_dashboard extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -992,7 +992,7 @@ class ComponentbuilderModelComponent_files_folders extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -882,7 +882,7 @@ class ComponentbuilderModelComponent_modules extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -912,7 +912,7 @@ class ComponentbuilderModelComponent_mysql_tweaks extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -881,7 +881,7 @@ class ComponentbuilderModelComponent_placeholders extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -882,7 +882,7 @@ class ComponentbuilderModelComponent_plugins extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -123,7 +124,7 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_router__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_router__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -131,17 +132,17 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
ComponentbuilderHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
SessionHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -214,7 +215,7 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('component_router__'.$id))
|
||||
if (($vdm = SessionHelper::get('component_router__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -222,17 +223,17 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
ComponentbuilderHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'component_router__'.$id);
|
||||
SessionHelper::set('component_router__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1021,7 +1022,7 @@ class ComponentbuilderModelComponent_router extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -916,7 +916,7 @@ class ComponentbuilderModelComponent_site_views extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -915,7 +915,7 @@ class ComponentbuilderModelComponent_updates extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -455,97 +455,6 @@ class ComponentbuilderModelComponentbuilder extends ListModel
|
||||
}
|
||||
|
||||
|
||||
public function getNoticeboard()
|
||||
{
|
||||
// get the document to load the scripts
|
||||
$document = Factory::getDocument();
|
||||
Html::_('script', "media/com_componentbuilder/js/marked.js", ['version' => 'auto']);
|
||||
$document->addScriptDeclaration('
|
||||
var token = "' . Session::getFormToken() . '";
|
||||
var noticeboard = "https://vdm.bz/componentbuilder-noticeboard-md";
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
fetch(noticeboard)
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
return response.text();
|
||||
})
|
||||
.then(board => {
|
||||
if (board.length > 5) {
|
||||
document.getElementById("noticeboard-md").innerHTML = marked.parse(board);
|
||||
getIS(1, board)
|
||||
.then(result => {
|
||||
if (result) {
|
||||
document.querySelectorAll("#cpanel_tabTabs a").forEach(link => {
|
||||
if (link.href.includes("#vast_development_method") || link.href.includes("#notice_board")) {
|
||||
var textVDM = link.textContent;
|
||||
link.innerHTML = "<span class=\"label label-important vdm-new-notice\">1</span> " + textVDM;
|
||||
link.id = "vdm-new-notice";
|
||||
document.getElementById("vdm-new-notice").addEventListener("click", () => {
|
||||
getIS(2, board)
|
||||
.then(result => {
|
||||
if (result) {
|
||||
document.querySelectorAll(".vdm-new-notice").forEach(element => {
|
||||
element.style.opacity = 0;
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
document.getElementById("noticeboard-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER').'.";
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
console.error("There was an error!", error);
|
||||
document.getElementById("noticeboard-md").innerHTML = "'.Text::_('COM_COMPONENTBUILDER_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATER').'.";
|
||||
});
|
||||
});
|
||||
|
||||
// to check is READ/NEW
|
||||
function getIS(type, notice) {
|
||||
let getUrl = "";
|
||||
if (type === 1) {
|
||||
getUrl = "index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true";
|
||||
} else if (type === 2) {
|
||||
getUrl = "index.php?option=com_componentbuilder&task=ajax.isRead&format=json&raw=true";
|
||||
}
|
||||
let request = new URLSearchParams();
|
||||
if (token.length > 0 && notice.length) {
|
||||
request.append(token, "1");
|
||||
request.append("notice", notice);
|
||||
}
|
||||
return fetch(getUrl, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
|
||||
},
|
||||
body: request
|
||||
}).then(response => response.json());
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
document.querySelectorAll(".loading-dots").forEach(function(loading_dots) {
|
||||
let x = 0;
|
||||
let intervalId = setInterval(function() {
|
||||
if (!loading_dots.classList.contains("loading-dots")) {
|
||||
clearInterval(intervalId);
|
||||
return;
|
||||
}
|
||||
let dots = ".".repeat(x % 8);
|
||||
loading_dots.textContent = dots;
|
||||
x++;
|
||||
}, 500);
|
||||
});
|
||||
});');
|
||||
|
||||
return '<div id="noticeboard-md">'.Text::_('COM_COMPONENTBUILDER_THE_NOTICE_BOARD_IS_LOADING').'.<span class="loading-dots">.</span></small></div>';
|
||||
}
|
||||
|
||||
public function getReadme()
|
||||
{
|
||||
$document = Factory::getDocument();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -180,7 +181,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -188,17 +189,17 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
SessionHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -349,7 +350,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_admin_view__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_admin_view__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -357,17 +358,17 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
ComponentbuilderHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_admin_view__'.$id);
|
||||
SessionHelper::set('custom_admin_view__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -503,6 +504,9 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
||||
}
|
||||
}
|
||||
|
||||
// update the ajax_input (sub form) layout
|
||||
$form->setFieldAttribute('ajax_input', 'layout', ComponentbuilderHelper::getSubformLayout('custom_admin_view', 'ajax_input'));
|
||||
|
||||
// update all editors to use this components global editor
|
||||
$global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none');
|
||||
// now get all the editor fields
|
||||
@ -1314,7 +1318,7 @@ class ComponentbuilderModelCustom_admin_view extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -134,7 +135,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_code__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_code__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -142,17 +143,17 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
SessionHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -205,7 +206,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('custom_code__'.$id))
|
||||
if (($vdm = SessionHelper::get('custom_code__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -213,17 +214,17 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
ComponentbuilderHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'custom_code__'.$id);
|
||||
SessionHelper::set('custom_code__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -547,7 +548,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1055,7 +1056,7 @@ class ComponentbuilderModelCustom_code extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -174,7 +175,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
||||
if (($vdm = SessionHelper::get('dynamic_get__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -182,17 +183,17 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
SessionHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -349,7 +350,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('dynamic_get__'.$id))
|
||||
if (($vdm = SessionHelper::get('dynamic_get__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -357,17 +358,17 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
ComponentbuilderHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'dynamic_get__'.$id);
|
||||
SessionHelper::set('dynamic_get__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
|
||||
@ -738,7 +739,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1365,7 +1366,7 @@ class ComponentbuilderModelDynamic_get extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -167,7 +168,7 @@ class ComponentbuilderModelField extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
||||
if (($vdm = SessionHelper::get('field__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -175,17 +176,17 @@ class ComponentbuilderModelField extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
SessionHelper::set('field__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -286,7 +287,7 @@ class ComponentbuilderModelField extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('field__'.$id))
|
||||
if (($vdm = SessionHelper::get('field__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -294,17 +295,17 @@ class ComponentbuilderModelField extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
ComponentbuilderHelper::set('field__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'field__'.$id);
|
||||
SessionHelper::set('field__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -633,7 +634,7 @@ class ComponentbuilderModelField extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1266,7 +1267,7 @@ class ComponentbuilderModelField extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldClassextends extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldClasspowers extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldCron_servers extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Filesystem\Folder;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -44,12 +45,12 @@ class JFormFieldCustomfilelist extends JFormFieldList
|
||||
// set the default
|
||||
$options[] = Html::_('select.option', '', Text::sprintf('COM_COMPONENTBUILDER_PLEASE_ADD_FILES_TO_S',$localfolder));
|
||||
// setup the folder if it does not exist
|
||||
if (!\JFolder::exists($localfolder))
|
||||
if (!is_dir($localfolder))
|
||||
{
|
||||
\JFolder::create($localfolder);
|
||||
Folder::create($localfolder);
|
||||
}
|
||||
// now check if there are files in the folder
|
||||
if ($files = \JFolder::files($localfolder))
|
||||
if ($files = Folder::files($localfolder))
|
||||
{
|
||||
$options = array();
|
||||
foreach ($files as $file)
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldDynamicget extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldExcludedlanguages extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldFieldtypes extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldInterfacepowers extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldJoomlacomponent extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldJoomlaplugingroups extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldJoomlaplugins extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldLibraries extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldLibrariesx extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldLibrary extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldMaingets extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -40,9 +40,9 @@ class JFormFieldNamespaces extends JFormFieldList
|
||||
protected function getOptions()
|
||||
{
|
||||
// Get the user object.
|
||||
$user = JFactory::getUser();
|
||||
$user = Factory::getUser();
|
||||
// Get the databse object.
|
||||
$db = JFactory::getDBO();
|
||||
$db = Factory::getDBO();
|
||||
$query = $db->getQuery(true);
|
||||
$query->select($db->quoteName(array('a.guid','a.name','a.namespace','a.type','a.power_version'),array('guid','use_name','namespace','type','version')));
|
||||
$query->from($db->quoteName('#__componentbuilder_power', 'a'));
|
||||
@ -60,7 +60,7 @@ class JFormFieldNamespaces extends JFormFieldList
|
||||
}
|
||||
}
|
||||
// get the input
|
||||
$jinput = JFactory::getApplication()->input;
|
||||
$jinput = Factory::getApplication()->input;
|
||||
// get the id
|
||||
$power_id = $jinput->getInt('id', 0);
|
||||
// if we have an id we remove all classes of the same namespace and name
|
||||
@ -74,17 +74,17 @@ class JFormFieldNamespaces extends JFormFieldList
|
||||
// if none was found, we add this to set an alternative to set custom
|
||||
if (!$items)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_NONE_FOUND'));
|
||||
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_NONE_FOUND'));
|
||||
}
|
||||
if ($items)
|
||||
{
|
||||
if ($this->multiple === false)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', '', JText::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||
$options[] = Html::_('select.option', '', Text::_('COM_COMPONENTBUILDER_SELECT_AN_OPTION'));
|
||||
}
|
||||
foreach($items as $item)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $item->guid, str_replace('.','\\', $item->namespace) . ' [' . $item->use_name . '] (v' . $item->version . ' - ' . $item->type . ')');
|
||||
$options[] = Html::_('select.option', $item->guid, str_replace('.','\\', $item->namespace) . ' [' . $item->use_name . '] (v' . $item->version . ' - ' . $item->type . ')');
|
||||
}
|
||||
}
|
||||
return $options;
|
||||
|
@ -15,6 +15,7 @@ defined('_JEXEC') or die('Restricted access');
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -68,7 +69,7 @@ class JFormFieldServers extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -16,6 +16,7 @@ use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// import the list field type
|
||||
jimport('joomla.form.helper');
|
||||
@ -69,7 +70,7 @@ class JFormFieldSnippets extends JFormFieldList
|
||||
$ref = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
|
||||
// get the return value.
|
||||
$_uri = (string) \Joomla\CMS\Uri\Uri::getInstance();
|
||||
$_uri = (string) Uri::getInstance();
|
||||
$_return = urlencode(base64_encode($_uri));
|
||||
// load return value.
|
||||
$ref .= '&return=' . $_return;
|
||||
|
@ -24,6 +24,7 @@ use Joomla\Registry\Registry;
|
||||
use Joomla\String\StringHelper;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use VDM\Joomla\Utilities\SessionHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper as UtilitiesStringHelper;
|
||||
use VDM\Joomla\Utilities\ObjectHelper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
@ -141,7 +142,7 @@ class ComponentbuilderModelFieldtype extends AdminModel
|
||||
$id = $_id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('fieldtype__'.$id))
|
||||
if (($vdm = SessionHelper::get('fieldtype__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -149,17 +150,17 @@ class ComponentbuilderModelFieldtype extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
ComponentbuilderHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
SessionHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -214,7 +215,7 @@ class ComponentbuilderModelFieldtype extends AdminModel
|
||||
$id = $item->id;
|
||||
}
|
||||
// set the id and view name to session
|
||||
if ($vdm = ComponentbuilderHelper::get('fieldtype__'.$id))
|
||||
if (($vdm = SessionHelper::get('fieldtype__'.$id)) !== null)
|
||||
{
|
||||
$this->vastDevMod = $vdm;
|
||||
}
|
||||
@ -222,17 +223,17 @@ class ComponentbuilderModelFieldtype extends AdminModel
|
||||
{
|
||||
// set the vast development method key
|
||||
$this->vastDevMod = UtilitiesStringHelper::random(50);
|
||||
ComponentbuilderHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
ComponentbuilderHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
SessionHelper::set($this->vastDevMod, 'fieldtype__'.$id);
|
||||
SessionHelper::set('fieldtype__'.$id, $this->vastDevMod);
|
||||
// set a return value if found
|
||||
$jinput = Factory::getApplication()->input;
|
||||
$return = $jinput->get('return', null, 'base64');
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__return', $return);
|
||||
SessionHelper::set($this->vastDevMod . '__return', $return);
|
||||
// set a GUID value if found
|
||||
if (isset($item) && ObjectHelper::check($item) && isset($item->guid)
|
||||
&& GuidHelper::valid($item->guid))
|
||||
{
|
||||
ComponentbuilderHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
SessionHelper::set($this->vastDevMod . '__guid', $item->guid);
|
||||
}
|
||||
}
|
||||
// check what type of properties array we have here (should be subform... but just incase)
|
||||
@ -813,7 +814,7 @@ class ComponentbuilderModelFieldtype extends AdminModel
|
||||
// change to false
|
||||
$form->setFieldAttribute($requiredField, 'required', 'false');
|
||||
// also clear the data set
|
||||
$data[$requiredField] = '';
|
||||
unset($data[$requiredField]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1333,7 +1334,7 @@ class ComponentbuilderModelFieldtype extends AdminModel
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function generateUnique($field,$value)
|
||||
protected function generateUnique($field, $value)
|
||||
{
|
||||
// set field value unique
|
||||
$table = $this->getTable();
|
||||
|
@ -2470,6 +2470,7 @@
|
||||
name="table"
|
||||
label="COM_COMPONENTBUILDER_ADMIN_VIEW_TABLE_LABEL"
|
||||
class="list_class"
|
||||
layout="joomla.form.field.list-fancy-select"
|
||||
multiple="false"
|
||||
default="0"
|
||||
button="false"
|
||||
|
@ -101,7 +101,6 @@
|
||||
label="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_COMPONENT_ADMIN_VIEWS_JOOMLA_COMPONENT_DESCRIPTION"
|
||||
class="list_class"
|
||||
layout="joomla.form.field.list-fancy-select"
|
||||
multiple="false"
|
||||
required="true"
|
||||
readonly="true"
|
||||
|
@ -101,7 +101,6 @@
|
||||
label="COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_COMPONENT_CONFIG_JOOMLA_COMPONENT_DESCRIPTION"
|
||||
class="list_class"
|
||||
layout="joomla.form.field.list-fancy-select"
|
||||
multiple="false"
|
||||
required="true"
|
||||
readonly="true"
|
||||
|
@ -101,7 +101,6 @@
|
||||
label="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_JOOMLA_COMPONENT_LABEL"
|
||||
description="COM_COMPONENTBUILDER_COMPONENT_CUSTOM_ADMIN_MENUS_JOOMLA_COMPONENT_DESCRIPTION"
|
||||
class="list_class"
|
||||
layout="joomla.form.field.list-fancy-select"
|
||||
multiple="false"
|
||||
required="true"
|
||||
readonly="true"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user