Stable release of v4.0.0-alpha1

First alpha release of Component Builder towards Joomla 4 (very unstable...).
This commit is contained in:
2024-03-09 21:47:28 +02:00
parent 3c91a5cdbb
commit c660bb6280
3040 changed files with 296304 additions and 269820 deletions

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -34,7 +34,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'datadefault_other'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -34,7 +34,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'note_whmcs_encryption'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -25,20 +25,28 @@ $layout_path_array = explode('.', $this->getLayoutId());
$fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
$fields = $displayData->get($fields_tab_layout) ?: [
'name'
);
];
$hiddenFields = $displayData->get('hidden_fields') ?: array();
// Ensure $fields is treated as an array and count its size.
$size = count((array) $fields);
// Use a ternary operator to determine the class.
// If there are 1 to 4 fields, set the class to divide the 12-grid column equally among the fields.
// For more than 4 fields, default to four columns (3-grid each) for medium and larger screens.
$css_class = ($size > 0 && $size <= 4) ? 'col-12 col-md-' . round(12 / $size) : 'col-12 col-md-3';
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>
<div class="form-inline form-inline-header">
<div class="row title-alias form-vertical mb-3">
<?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 echo $form->renderField($field, null, null, ['class' => $css_class . ' control-wrapper-' . $field]); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -31,7 +31,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'not_required'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -30,7 +30,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'short_description'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -29,7 +29,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'description'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>

View File

@ -9,25 +9,32 @@
* @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;
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\ArrayHelper;
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// set the defaults
$items = $displayData->vycfields;
$user = JFactory::getUser();
$user = Factory::getApplication()->getIdentity();
$id = $displayData->item->id;
// set the edit URL
$edit = "index.php?option=com_componentbuilder&view=fields&task=field.edit";
// set a return value
$return = ($id) ? "index.php?option=com_componentbuilder&view=fieldtype&layout=edit&id=" . $id : "";
// check for a return value
$jinput = JFactory::getApplication()->input;
$jinput = Factory::getApplication()->input;
if ($_return = $jinput->get('return', null, 'base64'))
{
$return .= "&return=" . $_return;
}
// check if return value was set
if (ComponentbuilderHelper::checkString($return))
if (StringHelper::check($return))
{
// set the referral values
$ref = ($id) ? "&ref=fieldtype&refid=" . $id . "&return=" . urlencode(base64_encode($return)) : "&return=" . urlencode(base64_encode($return));
@ -47,40 +54,40 @@ $can = ComponentbuilderHelper::getActions('field');
<div class="form-vertical">
<?php if ($can->get('field.create')): ?>
<div class="btn-group">
<a class="btn btn-small btn-success" href="<?php echo $new; ?>"><span class="icon-new icon-white"></span> <?php echo JText::_('COM_COMPONENTBUILDER_NEW'); ?></a>
<a class="btn btn-small" onclick="Joomla.submitbutton('fieldtype.cancel');" href="<?php echo $close_new; ?>"><span class="icon-new"></span> <?php echo JText::_('COM_COMPONENTBUILDER_CLOSE_NEW'); ?></a>
<a class="btn btn-small btn-success" href="<?php echo $new; ?>"><span class="icon-new icon-white"></span> <?php echo Text::_('COM_COMPONENTBUILDER_NEW'); ?></a>
<a class="btn btn-small" onclick="Joomla.submitbutton('fieldtype.cancel');" href="<?php echo $close_new; ?>"><span class="icon-new"></span> <?php echo Text::_('COM_COMPONENTBUILDER_CLOSE_NEW'); ?></a>
</div><br /><br />
<?php endif; ?>
<?php if (ComponentbuilderHelper::checkArray($items)): ?>
<?php if (ArrayHelper::check($items)): ?>
<table class="footable table data fields" data-show-toggle="true" data-toggle-column="first" data-sorting="true" data-paging="true" data-paging-size="20" data-filtering="true">
<thead>
<tr>
<th data-type="html" data-sort-use="text">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_NAME_LABEL'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_NAME_LABEL'); ?>
</th>
<th data-breakpoints="xs sm" data-type="html" data-sort-use="text">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_FIELDTYPE_LABEL'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_FIELDTYPE_LABEL'); ?>
</th>
<th data-breakpoints="xs sm" data-type="html" data-sort-use="text">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_DATATYPE_LABEL'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_DATATYPE_LABEL'); ?>
</th>
<th data-breakpoints="xs sm md" data-type="html" data-sort-use="text">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_INDEXES_LABEL'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_INDEXES_LABEL'); ?>
</th>
<th data-breakpoints="xs sm md" data-type="html" data-sort-use="text">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_NULL_SWITCH_LABEL'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_NULL_SWITCH_LABEL'); ?>
</th>
<th data-breakpoints="xs sm md" data-type="html" data-sort-use="text">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_STORE_LABEL'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_STORE_LABEL'); ?>
</th>
<th data-breakpoints="all" data-type="html" data-sort-use="text">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'); ?>
</th>
<th width="10" data-breakpoints="xs sm md">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_STATUS'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_STATUS'); ?>
</th>
<th width="5" data-type="number" data-breakpoints="xs sm md">
<?php echo JText::_('COM_COMPONENTBUILDER_FIELD_ID'); ?>
<?php echo Text::_('COM_COMPONENTBUILDER_FIELD_ID'); ?>
</th>
</tr>
</thead>
@ -88,7 +95,9 @@ $can = ComponentbuilderHelper::getActions('field');
<?php foreach ($items as $i => $item): ?>
<?php
$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out == $user->id || $item->checked_out == 0;
$userChkOut = JFactory::getUser($item->checked_out);
$userChkOut = Factory::getContainer()->
get(\Joomla\CMS\User\UserFactoryInterface::class)->
loadUserById($item->checked_out);
$canDo = ComponentbuilderHelper::getActions('field',$item,'fields');
?>
<tr>
@ -96,7 +105,7 @@ $can = ComponentbuilderHelper::getActions('field');
<?php if ($canDo->get('field.edit')): ?>
<a href="<?php echo $edit; ?>&id=<?php echo $item->id; ?><?php echo $ref; ?>"><?php echo $displayData->escape($item->name); ?></a>
<?php if ($item->checked_out): ?>
<?php echo JHtml::_('jgrid.checkedout', $i, $userChkOut->name, $item->checked_out_time, 'fields.', $canCheckin); ?>
<?php echo Html::_('jgrid.checkedout', $i, $userChkOut->name, $item->checked_out_time, 'fields.', $canCheckin); ?>
<?php endif; ?>
<?php else: ?>
<?php echo $displayData->escape($item->name); ?>
@ -106,16 +115,16 @@ $can = ComponentbuilderHelper::getActions('field');
<?php echo $displayData->escape($item->fieldtype_name); ?>
</td>
<td>
<?php echo JText::_($item->datatype); ?>
<?php echo Text::_($item->datatype); ?>
</td>
<td>
<?php echo JText::_($item->indexes); ?>
<?php echo Text::_($item->indexes); ?>
</td>
<td>
<?php echo JText::_($item->null_switch); ?>
<?php echo Text::_($item->null_switch); ?>
</td>
<td>
<?php echo JText::_($item->store); ?>
<?php echo Text::_($item->store); ?>
</td>
<td>
<?php if ($user->authorise('core.edit', 'com_componentbuilder.field.category.' . (int)$item->catid)): ?>
@ -126,26 +135,26 @@ $can = ComponentbuilderHelper::getActions('field');
</td>
<?php if ($item->published == 1): ?>
<td class="center" data-sort-value="1">
<span class="status-metro status-published" title="<?php echo JText::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>
<span class="status-metro status-published" title="<?php echo Text::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>">
<?php echo Text::_('COM_COMPONENTBUILDER_PUBLISHED'); ?>
</span>
</td>
<?php elseif ($item->published == 0): ?>
<td class="center" data-sort-value="2">
<span class="status-metro status-inactive" title="<?php echo JText::_('COM_COMPONENTBUILDER_INACTIVE'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_INACTIVE'); ?>
<span class="status-metro status-inactive" title="<?php echo Text::_('COM_COMPONENTBUILDER_INACTIVE'); ?>">
<?php echo Text::_('COM_COMPONENTBUILDER_INACTIVE'); ?>
</span>
</td>
<?php elseif ($item->published == 2): ?>
<td class="center" data-sort-value="3">
<span class="status-metro status-archived" title="<?php echo JText::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>
<span class="status-metro status-archived" title="<?php echo Text::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>">
<?php echo Text::_('COM_COMPONENTBUILDER_ARCHIVED'); ?>
</span>
</td>
<?php elseif ($item->published == -2): ?>
<td class="center" data-sort-value="4">
<span class="status-metro status-trashed" title="<?php echo JText::_('COM_COMPONENTBUILDER_TRASHED'); ?>">
<?php echo JText::_('COM_COMPONENTBUILDER_TRASHED'); ?>
<span class="status-metro status-trashed" title="<?php echo Text::_('COM_COMPONENTBUILDER_TRASHED'); ?>">
<?php echo Text::_('COM_COMPONENTBUILDER_TRASHED'); ?>
</span>
</td>
<?php endif; ?>
@ -158,7 +167,7 @@ $can = ComponentbuilderHelper::getActions('field');
</table>
<?php else: ?>
<div class="alert alert-no-items">
<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
<?php echo Text::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php endif; ?>
</div>

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -34,7 +34,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'modified_by'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>

View File

@ -10,7 +10,7 @@
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die;
// get the form
$form = $displayData->getForm();
@ -34,7 +34,7 @@ $fields = $displayData->get($fields_tab_layout) ?: array(
'id'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
$hiddenFields = $displayData->get('hidden_fields') ?: [];
?>
<?php if ($fields && count((array) $fields)) :?>