Release of 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.
This commit is contained in:
2025-02-14 22:59:16 +02:00
parent 714cb5588a
commit f8b0a5df54
1474 changed files with 133744 additions and 48350 deletions

View File

@@ -170,7 +170,8 @@ document.addEventListener('DOMContentLoaded', function() {
<div class="span7">
<div id="advance-details"><?php echo $this->form->renderFieldset('advanced'); ?></div>
<div id="component-details"><?php echo $selectNotice; ?></div>
<?php echo LayoutHelper::render('jcbnoticeboardtabs', array('id' => 'noticeboard' , 'active' => $noticeboardOptions[array_rand($noticeboardOptions)])); ?>
<div class="clearfix"></div>
<?php echo LayoutHelper::render('jcbnoticeboard', null); ?>
</div>
</div>
<div id="get-compiler-animations" style="display:none;">
@@ -193,8 +194,7 @@ document.addEventListener('DOMContentLoaded', function() {
<div class="clearfix"></div>
</div>
<div id="compiler-notice" class="span7" style="display:none;">
<?php echo LayoutHelper::render('jcbnoticeboard' . $noticeboardOptions[array_rand($noticeboardOptions)], null); ?>
<div><?php echo ComponentbuilderHelper::getDynamicContent('banner', '728-90'); ?></div>
<?php echo LayoutHelper::render('jcbnoticeboard', ['id' => 'mastodon-feed-2', 'button_id' => 'refresh-feed-2', 'posts' => 7]); ?>
</div>
</div>
<input type="hidden" name="task" value="" />

View File

@@ -115,6 +115,7 @@ class ComponentbuilderViewCompiler extends HtmlView
throw new \Exception(implode(PHP_EOL, $errors), 500);
}
// Display the template
parent::display($tpl);
}
@@ -588,6 +589,9 @@ class ComponentbuilderViewCompiler extends HtmlView
// Initialize the header checker.
$HeaderCheck = new componentbuilderHeaderCheck();
// Add View JavaScript File
Html::_('script', "administrator/components/com_componentbuilder/assets/js/compiler.js", ['version' => 'auto']);
// Load uikit options.
$uikit = $this->params->get('uikit_load');
// Set script size.
@@ -683,70 +687,6 @@ class ComponentbuilderViewCompiler extends HtmlView
}
}
});
}
document.addEventListener('DOMContentLoaded', function() {
fetchNoticeboard(\"https://vdm.bz/componentbuilder-noticeboard-md\", \".noticeboard-md\", true);
fetchNoticeboard(\"https://vdm.bz/componentbuilder-pro-noticeboard-md\", \".proboard-md\", false);
});
function fetchNoticeboard(url, selector, processGetIS) {
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.text();
})
.then(board => {
var elements = document.querySelectorAll(selector);
if (board.length > 5) {
let html_board = marked.parse(board);
elements.forEach(element => {
element.innerHTML = html_board;
});
if (processGetIS) {
getIS(1, board).then(result => {
if (result) {
document.querySelectorAll(\".vdm-new-notice\").forEach(element => {
element.style.display = 'block';
});
getIS(2, board);
}
});
}
} else {
elements.forEach(element => {
element.innerHTML = all_is_good;
});
}
})
.catch(error => {
console.error('There was an error!', error);
document.querySelectorAll(selector).forEach(element => {
element.innerHTML = all_is_good;
});
});
}
// to check is READ/NEW
function getIS(type, notice) {
let getUrl = \"\";
if (type === 1) {
getUrl = JRouter(\"index.php?option=com_componentbuilder&task=ajax.isNew&format=json&raw=true\");
} else if (type === 2) {
getUrl = JRouter(\"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());
}
");
}
@@ -810,7 +750,7 @@ class ComponentbuilderViewCompiler extends HtmlView
*/
public function getDocument()
{
$this->document ??= JFactory::getDocument();
$this->document ??= Factory::getDocument();
return $this->document;
}