Adds new JCB package engine. Fix issue with loading the Component Builder Wiki. Adds advanced version update notice to the Component Builder Dashboard. Completely refactors the class that builds the Component Dashboard. #1134. Adds Initialize, Reset, and Push functionality to the Repository entities. Completely refactors the SQL teaks and SQL dump classes. Changes J4 fields to allow NULL. Fix a bug in Dynamic Get JavaScript that causes table columns to not load.
281 lines
9.8 KiB
PHP
281 lines
9.8 KiB
PHP
<?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
|
|
*/
|
|
|
|
use Joomla\CMS\Factory;
|
|
use Joomla\CMS\Language\Text;
|
|
use Joomla\CMS\HTML\HTMLHelper as Html;
|
|
use Joomla\CMS\Layout\LayoutHelper;
|
|
use Joomla\CMS\Router\Route;
|
|
use VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
|
|
|
|
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
|
|
$wa = $this->getDocument()->getWebAssetManager();
|
|
$wa->useScript('keepalive')->useScript('form.validate');
|
|
Html::_('bootstrap.tooltip');
|
|
|
|
// No direct access to this file
|
|
defined('_JEXEC') or die;
|
|
|
|
$layout = $this->isModal ? 'modal' : 'edit';
|
|
$tmpl = $this->input->get('tmpl');
|
|
$tmpl = $tmpl ? '&tmpl=' . $tmpl : '';
|
|
?>
|
|
<script type="text/javascript">
|
|
// waiting spinner
|
|
var outerDiv = document.querySelector('body');
|
|
var loadingDiv = document.createElement('div');
|
|
loadingDiv.id = 'loading';
|
|
loadingDiv.style.cssText = "background: rgba(255, 255, 255, .8) url('components/com_componentbuilder/assets/images/ajax.gif') 50% 35% no-repeat; top: " + (outerDiv.getBoundingClientRect().top + window.pageYOffset) + "px; left: " + (outerDiv.getBoundingClientRect().left + window.pageXOffset) + "px; width: " + outerDiv.offsetWidth + "px; height: " + outerDiv.offsetHeight + "px; position: fixed; opacity: 0.80; -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); filter: alpha(opacity=80); display: none;";
|
|
outerDiv.appendChild(loadingDiv);
|
|
loadingDiv.style.display = 'block';
|
|
// when page is ready remove and show
|
|
window.addEventListener('load', function() {
|
|
var componentLoader = document.getElementById('componentbuilder_loader');
|
|
if (componentLoader) componentLoader.style.display = 'block';
|
|
loadingDiv.style.display = 'none';
|
|
});
|
|
</script>
|
|
<div id="componentbuilder_loader" style="display: none;">
|
|
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&&layout=' . $layout . $tmpl . '&id='. (int) $this->item->id . $this->referral); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
|
|
|
|
<?php echo LayoutHelper::render('server.details_above', $this); ?>
|
|
<div class="main-card">
|
|
|
|
<?php echo Html::_('uitab.startTabSet', 'serverTab', ['active' => 'details', 'recall' => true]); ?>
|
|
|
|
<?php echo Html::_('uitab.addTab', 'serverTab', 'details', Text::_('COM_COMPONENTBUILDER_SERVER_DETAILS', true)); ?>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<?php echo LayoutHelper::render('server.details_left', $this); ?>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<?php echo LayoutHelper::render('server.details_right', $this); ?>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<?php echo LayoutHelper::render('server.details_fullwidth', $this); ?>
|
|
</div>
|
|
</div>
|
|
<?php echo Html::_('uitab.endTab'); ?>
|
|
|
|
<?php $this->ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?>
|
|
<?php $this->tab_name = 'serverTab'; ?>
|
|
<?php echo LayoutHelper::render('joomla.edit.params', $this); ?>
|
|
|
|
<?php if ($this->canDo->get('server.edit.created_by') || $this->canDo->get('server.edit.created') || $this->canDo->get('server.edit.state') || ($this->canDo->get('server.delete') && $this->canDo->get('server.edit.state'))) : ?>
|
|
<?php echo Html::_('uitab.addTab', 'serverTab', 'publishing', Text::_('COM_COMPONENTBUILDER_SERVER_PUBLISHING', true)); ?>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<?php echo LayoutHelper::render('server.publishing', $this); ?>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<?php echo LayoutHelper::render('server.publlshing', $this); ?>
|
|
</div>
|
|
</div>
|
|
<?php echo Html::_('uitab.endTab'); ?>
|
|
<?php endif; ?>
|
|
|
|
<?php if ($this->canDo->get('core.admin')) : ?>
|
|
<?php echo Html::_('uitab.addTab', 'serverTab', 'permissions', Text::_('COM_COMPONENTBUILDER_SERVER_PERMISSION', true)); ?>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<fieldset id="fieldset-rules" class="options-form">
|
|
<legend><?php echo Text::_('COM_COMPONENTBUILDER_SERVER_PERMISSION'); ?></legend>
|
|
<div>
|
|
<?php echo $this->form->getInput('rules'); ?>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<?php echo Html::_('uitab.endTab'); ?>
|
|
<?php endif; ?>
|
|
|
|
<?php echo Html::_('uitab.endTabSet'); ?>
|
|
|
|
<div>
|
|
<input type="hidden" name="task" value="server.edit" />
|
|
<?php echo Html::_('form.token'); ?>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
|
|
// #jform_protocol listeners for protocol_vvvvwcc function
|
|
jQuery('#jform_protocol').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwcc = jQuery("#jform_protocol").val();
|
|
vvvvwcc(protocol_vvvvwcc);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_protocol',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwcc = jQuery("#jform_protocol").val();
|
|
vvvvwcc(protocol_vvvvwcc);
|
|
|
|
});
|
|
|
|
// #jform_protocol listeners for protocol_vvvvwcd function
|
|
jQuery('#jform_protocol').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwcd = jQuery("#jform_protocol").val();
|
|
vvvvwcd(protocol_vvvvwcd);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_protocol',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwcd = jQuery("#jform_protocol").val();
|
|
vvvvwcd(protocol_vvvvwcd);
|
|
|
|
});
|
|
|
|
// #jform_protocol listeners for protocol_vvvvwce function
|
|
jQuery('#jform_protocol').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwce = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwce = jQuery("#jform_authentication").val();
|
|
vvvvwce(protocol_vvvvwce,authentication_vvvvwce);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_protocol',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwce = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwce = jQuery("#jform_authentication").val();
|
|
vvvvwce(protocol_vvvvwce,authentication_vvvvwce);
|
|
|
|
});
|
|
|
|
// #jform_authentication listeners for authentication_vvvvwce function
|
|
jQuery('#jform_authentication').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwce = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwce = jQuery("#jform_authentication").val();
|
|
vvvvwce(protocol_vvvvwce,authentication_vvvvwce);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_authentication',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwce = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwce = jQuery("#jform_authentication").val();
|
|
vvvvwce(protocol_vvvvwce,authentication_vvvvwce);
|
|
|
|
});
|
|
|
|
// #jform_protocol listeners for protocol_vvvvwcg function
|
|
jQuery('#jform_protocol').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwcg = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwcg = jQuery("#jform_authentication").val();
|
|
vvvvwcg(protocol_vvvvwcg,authentication_vvvvwcg);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_protocol',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwcg = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwcg = jQuery("#jform_authentication").val();
|
|
vvvvwcg(protocol_vvvvwcg,authentication_vvvvwcg);
|
|
|
|
});
|
|
|
|
// #jform_authentication listeners for authentication_vvvvwcg function
|
|
jQuery('#jform_authentication').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwcg = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwcg = jQuery("#jform_authentication").val();
|
|
vvvvwcg(protocol_vvvvwcg,authentication_vvvvwcg);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_authentication',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwcg = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwcg = jQuery("#jform_authentication").val();
|
|
vvvvwcg(protocol_vvvvwcg,authentication_vvvvwcg);
|
|
|
|
});
|
|
|
|
// #jform_protocol listeners for protocol_vvvvwci function
|
|
jQuery('#jform_protocol').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwci = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwci = jQuery("#jform_authentication").val();
|
|
vvvvwci(protocol_vvvvwci,authentication_vvvvwci);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_protocol',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwci = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwci = jQuery("#jform_authentication").val();
|
|
vvvvwci(protocol_vvvvwci,authentication_vvvvwci);
|
|
|
|
});
|
|
|
|
// #jform_authentication listeners for authentication_vvvvwci function
|
|
jQuery('#jform_authentication').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwci = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwci = jQuery("#jform_authentication").val();
|
|
vvvvwci(protocol_vvvvwci,authentication_vvvvwci);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_authentication',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwci = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwci = jQuery("#jform_authentication").val();
|
|
vvvvwci(protocol_vvvvwci,authentication_vvvvwci);
|
|
|
|
});
|
|
|
|
// #jform_protocol listeners for protocol_vvvvwck function
|
|
jQuery('#jform_protocol').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwck = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwck = jQuery("#jform_authentication").val();
|
|
vvvvwck(protocol_vvvvwck,authentication_vvvvwck);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_protocol',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwck = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwck = jQuery("#jform_authentication").val();
|
|
vvvvwck(protocol_vvvvwck,authentication_vvvvwck);
|
|
|
|
});
|
|
|
|
// #jform_authentication listeners for authentication_vvvvwck function
|
|
jQuery('#jform_authentication').on('keyup',function()
|
|
{
|
|
var protocol_vvvvwck = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwck = jQuery("#jform_authentication").val();
|
|
vvvvwck(protocol_vvvvwck,authentication_vvvvwck);
|
|
|
|
});
|
|
jQuery('#adminForm').on('change', '#jform_authentication',function (e)
|
|
{
|
|
e.preventDefault();
|
|
var protocol_vvvvwck = jQuery("#jform_protocol").val();
|
|
var authentication_vvvvwck = jQuery("#jform_authentication").val();
|
|
vvvvwck(protocol_vvvvwck,authentication_vvvvwck);
|
|
|
|
});
|
|
|
|
</script>
|