Release of v5.0.1-alpha5

Add repositories for better integration with gitea. Refactored the Data classes. Add new Data classes.
This commit is contained in:
2024-06-21 03:25:28 +02:00
parent fc6b04cb5c
commit c51ef999a9
120 changed files with 8945 additions and 3699 deletions

View File

@ -206,40 +206,6 @@ jQuery('#adminForm').on('change', '#jform_datatype',function (e)
});
// #jform_store listeners for store_vvvvwbj function
jQuery('#jform_store').on('keyup',function()
{
var store_vvvvwbj = jQuery("#jform_store").val();
var datatype_vvvvwbj = jQuery("#jform_datatype").val();
vvvvwbj(store_vvvvwbj,datatype_vvvvwbj);
});
jQuery('#adminForm').on('change', '#jform_store',function (e)
{
e.preventDefault();
var store_vvvvwbj = jQuery("#jform_store").val();
var datatype_vvvvwbj = jQuery("#jform_datatype").val();
vvvvwbj(store_vvvvwbj,datatype_vvvvwbj);
});
// #jform_datatype listeners for datatype_vvvvwbj function
jQuery('#jform_datatype').on('keyup',function()
{
var store_vvvvwbj = jQuery("#jform_store").val();
var datatype_vvvvwbj = jQuery("#jform_datatype").val();
vvvvwbj(store_vvvvwbj,datatype_vvvvwbj);
});
jQuery('#adminForm').on('change', '#jform_datatype',function (e)
{
e.preventDefault();
var store_vvvvwbj = jQuery("#jform_store").val();
var datatype_vvvvwbj = jQuery("#jform_datatype").val();
vvvvwbj(store_vvvvwbj,datatype_vvvvwbj);
});
// #jform_store listeners for store_vvvvwbl function
jQuery('#jform_store').on('keyup',function()
{

View File

@ -0,0 +1,51 @@
<?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;
// No direct access to this file
defined('_JEXEC') or die;
if ($this->saveOrder)
{
$saveOrderingUrl = 'index.php?option=com_componentbuilder&task=repositories.saveOrderAjax&tmpl=component';
Html::_('sortablelist.sortable', 'repositoryList', 'adminForm', strtolower($this->listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo Route::_('index.php?option=com_componentbuilder&view=repositories'); ?>" method="post" name="adminForm" id="adminForm">
<div id="j-main-container">
<?php
// Add the trash helper layout
echo LayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>
<?php if (empty($this->items)): ?>
<div class="alert alert-no-items">
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<table class="table table-striped" id="repositoryList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo Html::_('form.token'); ?>
</form>

View File

@ -0,0 +1,113 @@
<?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 VDM\Component\Componentbuilder\Administrator\Helper\ComponentbuilderHelper;
// No direct access to this file
defined('_JEXEC') or die;
$edit = "index.php?option=com_componentbuilder&view=repositories&task=repository.edit";
?>
<?php foreach ($this->items as $i => $item): ?>
<?php
$canCheckin = $this->user->authorise('core.manage', 'com_checkin') || $item->checked_out == $this->user->id || $item->checked_out == 0;
$userChkOut = Factory::getContainer()->
get(\Joomla\CMS\User\UserFactoryInterface::class)->
loadUserById($item->checked_out);
$canDo = ComponentbuilderHelper::getActions('repository',$item,'repositories');
?>
<tr class="row<?php echo $i % 2; ?>">
<td class="order nowrap center hidden-phone">
<?php if ($canDo->get('repository.edit.state')): ?>
<?php
$iconClass = '';
if (!$this->saveOrder)
{
$iconClass = ' inactive tip-top" hasTooltip" title="' . Html::tooltipText('JORDERINGDISABLED');
}
?>
<span class="sortable-handler<?php echo $iconClass; ?>">
<i class="icon-menu"></i>
</span>
<?php if ($this->saveOrder) : ?>
<input type="text" style="display:none" name="order[]" size="5"
value="<?php echo $item->ordering; ?>" class="width-20 text-area-order " />
<?php endif; ?>
<?php else: ?>
&#8942;
<?php endif; ?>
</td>
<td class="nowrap center">
<?php if ($canDo->get('repository.edit')): ?>
<?php if ($item->checked_out) : ?>
<?php if ($canCheckin) : ?>
<?php echo Html::_('grid.id', $i, $item->id); ?>
<?php else: ?>
&#9633;
<?php endif; ?>
<?php else: ?>
<?php echo Html::_('grid.id', $i, $item->id); ?>
<?php endif; ?>
<?php else: ?>
&#9633;
<?php endif; ?>
</td>
<td class="nowrap">
<div class="name">
<?php if ($canDo->get('repository.edit')): ?>
<a href="<?php echo $edit; ?>&id=<?php echo $item->id; ?>"><?php echo $this->escape($item->system_name); ?></a>
<?php if ($item->checked_out): ?>
<?php echo Html::_('jgrid.checkedout', $i, $userChkOut->name, $item->checked_out_time, 'repositories.', $canCheckin); ?>
<?php endif; ?>
<?php else: ?>
<?php echo $this->escape($item->system_name); ?>
<?php endif; ?>
</div>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->organisation); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->repository); ?>
</td>
<td class="hidden-phone">
<?php echo Text::_($item->target); ?>
</td>
<td class="hidden-phone">
<?php echo Text::_($item->type); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->base); ?>
</td>
<td class="center">
<?php if ($canDo->get('repository.edit.state')) : ?>
<?php if ($item->checked_out) : ?>
<?php if ($canCheckin) : ?>
<?php echo Html::_('jgrid.published', $item->published, $i, 'repositories.', true, 'cb'); ?>
<?php else: ?>
<?php echo Html::_('jgrid.published', $item->published, $i, 'repositories.', false, 'cb'); ?>
<?php endif; ?>
<?php else: ?>
<?php echo Html::_('jgrid.published', $item->published, $i, 'repositories.', true, 'cb'); ?>
<?php endif; ?>
<?php else: ?>
<?php echo Html::_('jgrid.published', $item->published, $i, 'repositories.', false, 'cb'); ?>
<?php endif; ?>
</td>
<td class="nowrap center hidden-phone">
<?php echo $item->id; ?>
</td>
</tr>
<?php endforeach; ?>

View File

@ -0,0 +1,18 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <https://dev.vdm.io>
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die;
?>
<tr>
<td colspan="10"><?php echo $this->pagination->getListFooter(); ?></td>
</tr>

View File

@ -0,0 +1,65 @@
<?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\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// No direct access to this file
defined('_JEXEC') or die;
?>
<tr>
<?php if ($this->canEdit&& $this->canState): ?>
<th width="1%" class="nowrap center hidden-phone">
<?php echo Html::_('searchtools.sort', '', 'a.ordering', $this->listDirn, $this->listOrder, null, 'asc', 'JGRID_HEADING_ORDERING', 'icon-menu-2'); ?>
</th>
<th width="20" class="nowrap center">
<?php echo Html::_('grid.checkall'); ?>
</th>
<?php else: ?>
<th width="20" class="nowrap center hidden-phone">
&#9662;
</th>
<th width="20" class="nowrap center">
&#9632;
</th>
<?php endif; ?>
<th class="nowrap" >
<?php echo Text::_('COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_LABEL'); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL', 'a.organisation', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_REPOSITORY_REPOSITORY_LABEL', 'a.repository', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL', 'a.target', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_REPOSITORY_TYPE_LABEL', 'a.type', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL', 'a.base', $this->listDirn, $this->listOrder); ?>
</th>
<?php if ($this->canState): ?>
<th width="10" class="nowrap center" >
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_REPOSITORY_STATUS', 'a.published', $this->listDirn, $this->listOrder); ?>
</th>
<?php else: ?>
<th width="10" class="nowrap center" >
<?php echo Text::_('COM_COMPONENTBUILDER_REPOSITORY_STATUS'); ?>
</th>
<?php endif; ?>
<th width="5" class="nowrap center hidden-phone" >
<?php echo Html::_('searchtools.sort', 'COM_COMPONENTBUILDER_REPOSITORY_ID', 'a.id', $this->listDirn, $this->listOrder); ?>
</th>
</tr>

View File

@ -0,0 +1,48 @@
<?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\Language\Text;
use Joomla\CMS\HTML\HTMLHelper as Html;
// No direct access to this file
defined('_JEXEC') or die;
?>
<div id="filter-bar" class="btn-toolbar">
<div class="filter-search btn-group pull-left">
<label for="filter_search" class="element-invisible"><?php echo Text::_('Search');?></label>
<input type="text" name="filter_search" id="filter_search" placeholder="<?php echo Text::_('JSEARCH_FILTER'); ?>" value="<?php echo $this->escape($this->state->get('filter.search')); ?>" class="hasTooltip" title="<?php echo Html::tooltipText('Search Repositories'); ?>" />
</div>
<div class="btn-group pull-left">
<button type="submit" class="btn hasTooltip" title="<?php echo Html::tooltipText('JSEARCH_FILTER_SUBMIT'); ?>"><i class="icon-search"></i></button>
<button type="button" class="btn hasTooltip" title="<?php echo Html::tooltipText('JSEARCH_FILTER_CLEAR'); ?>" onclick="document.id('filter_search').value='';this.form.submit();"><i class="icon-remove"></i></button>
</div>
<div class="btn-group pull-right hidden-phone">
<label for="limit" class="element-invisible"><?php echo Text::_('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC');?></label>
<?php echo $this->pagination->getLimitBox(); ?>
</div>
<div class="btn-group pull-right hidden-phone">
<label for="directionTable" class="element-invisible"><?php echo Text::_('JFIELD_ORDERING_DESC');?></label>
<select name="directionTable" id="directionTable" class="input-medium" onchange="Joomla.orderTable()">
<option value=""><?php echo Text::_('JFIELD_ORDERING_DESC');?></option>
<option value="asc" <?php if ($this->listDirn == 'asc') echo 'selected="selected"'; ?>><?php echo Text::_('JGLOBAL_ORDER_ASCENDING');?></option>
<option value="desc" <?php if ($this->listDirn == 'desc') echo 'selected="selected"'; ?>><?php echo Text::_('JGLOBAL_ORDER_DESCENDING');?></option>
</select>
</div>
<div class="btn-group pull-right">
<label for="sortTable" class="element-invisible"><?php echo Text::_('JGLOBAL_SORT_BY');?></label>
<select name="sortTable" id="sortTable" class="input-medium" onchange="Joomla.orderTable()">
<option value=""><?php echo Text::_('JGLOBAL_SORT_BY');?></option>
<?php echo Html::_('select.options', $this->getSortFields(), 'value', 'text', $this->listOrder);?>
</select>
</div>
</div>
<div class="clearfix"> </div>

View File

@ -0,0 +1,28 @@
<?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\Layout\LayoutHelper;
// No direct access to this file
defined('_JEXEC') or die;
$displayData = [
'textPrefix' => 'COM_COMPONENTBUILDER_REPOSITORIES',
'formURL' => 'index.php?option=com_componentbuilder&view=repositories',
'icon' => 'icon-share',
];
if ($this->user->authorise('repository.create', 'com_componentbuilder'))
{
$displayData['createURL'] = 'index.php?option=com_componentbuilder&task=repository.add';
}
echo LayoutHelper::render('joomla.content.emptystate', $displayData);

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,106 @@
<?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;
?>
<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/import.gif') 50% 15% 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=edit&id='. (int) $this->item->id . $this->referral); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
<?php echo LayoutHelper::render('repository.details_above', $this); ?>
<div class="main-card">
<?php echo Html::_('uitab.startTabSet', 'repositoryTab', ['active' => 'details', 'recall' => true]); ?>
<?php echo Html::_('uitab.addTab', 'repositoryTab', 'details', Text::_('COM_COMPONENTBUILDER_REPOSITORY_DETAILS', true)); ?>
<div class="row">
<div class="col-md-6">
<?php echo LayoutHelper::render('repository.details_left', $this); ?>
</div>
<div class="col-md-6">
<?php echo LayoutHelper::render('repository.details_right', $this); ?>
</div>
</div>
<?php echo Html::_('uitab.endTab'); ?>
<?php $this->ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?>
<?php $this->tab_name = 'repositoryTab'; ?>
<?php echo LayoutHelper::render('joomla.edit.params', $this); ?>
<?php if ($this->canDo->get('repository.edit.created_by') || $this->canDo->get('repository.edit.created') || $this->canDo->get('repository.edit.state') || ($this->canDo->get('repository.delete') && $this->canDo->get('repository.edit.state'))) : ?>
<?php echo Html::_('uitab.addTab', 'repositoryTab', 'publishing', Text::_('COM_COMPONENTBUILDER_REPOSITORY_PUBLISHING', true)); ?>
<div class="row">
<div class="col-md-6">
<?php echo LayoutHelper::render('repository.publishing', $this); ?>
</div>
<div class="col-md-6">
<?php echo LayoutHelper::render('repository.publlshing', $this); ?>
</div>
</div>
<?php echo Html::_('uitab.endTab'); ?>
<?php endif; ?>
<?php if ($this->canDo->get('core.admin')) : ?>
<?php echo Html::_('uitab.addTab', 'repositoryTab', 'permissions', Text::_('COM_COMPONENTBUILDER_REPOSITORY_PERMISSION', true)); ?>
<div class="row">
<div class="col-md-12">
<fieldset class="adminform">
<div class="adminformlist">
<?php foreach ($this->form->getFieldset('accesscontrol') as $field): ?>
<div>
<?php echo $field->label; echo $field->input;?>
</div>
<div class="clearfix"></div>
<?php endforeach; ?>
</div>
</fieldset>
</div>
</div>
<?php echo Html::_('uitab.endTab'); ?>
<?php endif; ?>
<?php echo Html::_('uitab.endTabSet'); ?>
<div>
<input type="hidden" name="task" value="repository.edit" />
<?php echo Html::_('form.token'); ?>
</div>
</div>
</form>
</div>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>