first commit

This commit is contained in:
2026-02-08 21:16:11 +01:00
commit e17b7026fd
8881 changed files with 1160453 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
<?php
/**
* @package Joomla.Plugins
* @subpackage System.J2xml
*
* @version 3.9.229-rc1
* @since 3.9
*
* @author Helios Ciancio <info (at) eshiol (dot) it>
* @link https://www.eshiol.it
* @copyright Copyright (C) 2010 - 2023 Helios Ciancio. All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL v3
* J2XML is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License
* or other free or open source software licenses.
*/
defined('_JEXEC') or die;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to. <fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this field.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js', array('version' => 'auto', 'relative' => true, 'conditional' => 'lt IE 9'));
/**
* The format of the input tag to be filled in using sprintf.
* %1 - id
* %2 - name
* %3 - value
* %4 = any other attributes
*/
$format = '<input type="radio" id="%1$s" name="%2$s" value="%3$s" %4$s />';
$alt = preg_replace('/[^a-zA-Z0-9_\-]/', '_', $name);
?>
<fieldset id="<?php echo $id; ?>" class="<?php echo trim($class . ' radio' . ($readonly || $disabled ? ' disabled' : '') . ($readonly ? ' readonly' : '')); ?>"
<?php echo $disabled ? 'disabled' : ''; ?>
<?php echo $readonly || $disabled ? 'style="pointer-events: none"' : '' ?>
<?php echo $required ? 'required aria-required="true"' : ''; ?>
<?php echo $autofocus ? 'autofocus' : ''; ?>>
<?php if (!empty($options)) : ?>
<?php foreach ($options as $i => $option) : ?>
<?php
// Initialize some option attributes.
$checked = ((string) $option->value === $value) ? 'checked="checked"' : '';
$disabled = !empty($option->disable) ? 'disabled' : '';
$style = $disabled ? 'style="pointer-events: none"' : '';
$option->class = !empty($option->class) ? $option->class : '';
$option->class = trim($option->class . ' ' . $disabled);
$optionClass = !empty($option->class) ? 'class="' . $option->class . '"' : '';
// Initialize some JavaScript option attributes.
$onclick = !empty($option->onclick) ? 'onclick="' . $option->onclick . '"' : '';
$onchange = !empty($option->onchange) ? 'onchange="' . $option->onchange . '"' : '';
$oid = $id . $i;
$ovalue = htmlspecialchars($option->value, ENT_COMPAT, 'UTF-8');
$attributes = array_filter(array($checked, $optionClass, $disabled, $style, $onchange, $onclick));
?>
<?php if ($required) : ?>
<?php $attributes[] = 'required aria-required="true"'; ?>
<?php endif; ?>
<?php echo sprintf($format, $oid, $name, $ovalue, implode(' ', $attributes)); ?>
<label for="<?php echo $oid; ?>" <?php echo trim($optionClass . ' ' . $style); ?>>
<?php echo $option->text; ?>
</label>
<?php endforeach; ?>
<?php endif; ?>
</fieldset>

View File

@@ -0,0 +1,84 @@
<?php
/**
* @package Joomla.Plugins
* @subpackage System.J2xml
*
* @version 3.9.229-rc1
* @since 3.9
*
* @author Helios Ciancio <info (at) eshiol (dot) it>
* @link https://www.eshiol.it
* @copyright Copyright (C) 2010 - 2023 Helios Ciancio. All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL v3
* J2XML is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License
* or other free or open source software licenses.
*/
// no direct access
defined('_JEXEC') or die('Restricted access.');
\JLog::add(new \JLogEntry(__FILE__, \JLog::DEBUG, 'plg_system_j2xml'));
JHtml::_('behavior.core');
/**
* Generic toolbar button layout to open a modal
* -----------------------------------------------
* @param array $displayData Button parameters. Default supported parameters:
* - selector string Unique DOM identifier for the modal. CSS id without #
* - class string Button class
* - icon string Button icon
* - text string Button text
*/
$selector = $displayData['selector'];
$class = isset($displayData['class']) ? $displayData['class'] : 'btn btn-small';
$icon = isset($displayData['icon']) ? $displayData['icon'] : 'out-3';
$title = $displayData['title'];
$text = isset($displayData['text']) ? $displayData['text'] : '';
$onclick = isset($displayData['onclick']) ? $displayData['onclick'] : '';
$cancel = isset($displayData['cancel']) ? $displayData['cancel'] : JText::_('JCANCEL');
$ok = isset($displayData['ok']) ? $displayData['ok'] : JText::_('JOK');
JText::script('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST');
$message = "alert(Joomla.JText._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST'));";
?>
<button type="button" class="<?php echo $class; ?>" data-toggle="modal" onclick="if (document.adminForm.boxchecked.value==0){<?php echo $message; ?>}else{jQuery('#<?php echo $selector; ?>Modal').modal('show');return true;}">
<span class="icon-<?php echo $icon; ?>" aria-hidden="true"></span>
<?php echo $text; ?>
</button>
<!-- Render the modal -->
<?php
$version = new \JVersion();
if ($version->isCompatible('3.4'))
{
echo JHtml::_('bootstrap.renderModal', $selector . 'Modal', array(
'url' => $displayData['doTask'],
'title' => $title,
'modalWidth' => '40',
'height' => '310px',
'footer' => '<button class="btn" data-dismiss="modal" type="button"'
. ' onclick="jQuery(\'#' . $selector . 'Modal iframe\').contents().find(\'#' . $selector . 'CancelBtn\').click();">' . $cancel . '</button>'
. '<button class="btn btn-success" type="button"'
. ' onclick="' . $onclick . 'jQuery(\'#' . $selector . 'Modal iframe\').contents().find(\'#' . $selector . 'OkBtn\').click();">'
. $ok . '</button>'));
}
else
{
echo JHtml::_(
'bootstrap.renderModal',
$selector . 'Modal',
array(
'url' => $displayData['doTask'],
'title' => $title,
'modalWidth' => '40',
'height' => '310px'),
'<button class="btn" data-dismiss="modal" type="button"'
. ' onclick="jQuery(\'#' . $selector . 'Modal iframe\').contents().find(\'#' . $selector . 'CancelBtn\').click();">' . $cancel . '</button>'
. '<button class="btn btn-success" type="button"'
. ' onclick="' . $onclick . 'jQuery(\'#' . $selector . 'Modal iframe\').contents().find(\'#' . $selector . 'OkBtn\').click();">'
. $ok . '</button>');
}

View File

@@ -0,0 +1,85 @@
<?php
/**
* @package Joomla.Plugins
* @subpackage System.J2xml
*
* @version 3.9.229-rc1
* @since 3.9
*
* @author Helios Ciancio <info (at) eshiol (dot) it>
* @link https://www.eshiol.it
* @copyright Copyright (C) 2010 - 2023 Helios Ciancio. All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL v3
* J2XML is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License
* or other free or open source software licenses.
*/
// no direct access
defined('_JEXEC') or die('Restricted access.');
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HtmlHelper;
use Joomla\CMS\Language\Text;
Factory::getDocument()->getWebAssetManager()
->useScript('webcomponent.toolbar-button');
/**
* Generic toolbar button layout to open a modal
* -----------------------------------------------
* @param array $displayData Button parameters. Default supported parameters:
* - selector string Unique DOM identifier for the modal. CSS id without #
* - class string Button class
* - icon string Button icon
* - text string Button text
*/
$tagName = $tagName ?? 'button';
$selector = $displayData['selector'];
$id = isset($displayData['id']) ? $displayData['id'] : '';
$class = isset($displayData['class']) ? $displayData['class'] : 'btn btn-sm btn-primary';
$icon = isset($displayData['icon']) ? $displayData['icon'] : 'fas fa-download';
$title = $displayData['title'];
$text = isset($displayData['text']) ? $displayData['text'] : '';
$cancel = isset($displayData['cancel']) ? $displayData['cancel'] : Text::_('JCANCEL');
$ok = isset($displayData['ok']) ? $displayData['ok'] : Text::_('JOK');
$onclick = isset($displayData['onclick']) ? $displayData['onclick'] : '';
$validate = !empty($formValidation) ? ' form-validation' : '';
?>
<joomla-toolbar-button<?php echo $id; ?> onclick="document.getElementById('<?php echo $selector; ?>Modal').open();
document.body.appendChild(document.getElementById('<?php echo $selector; ?>Modal'));"
data-toggle="modal">
<<?php echo $tagName; ?>
class="<?php echo $class ?? ''; ?>"
<?php echo $htmlAttributes ?? ''; ?>
<?php echo $title; ?>
>
<span class="<?php echo $icon; ?>" aria-hidden="true"></span>
<?php echo $text ?? ''; ?>
</<?php echo $tagName; ?>>
</joomla-toolbar-button>
<!-- Render the modal -->
<?php
echo HtmlHelper::_('bootstrap.renderModal',
$selector . 'Modal',
array(
'url' => $displayData['doTask'],
'title' => $title,
'modalWidth' => '40',
'height' => '310px',
'closeButton' => true,
'footer' => '<button class="btn btn-secondary" data-dismiss="modal" type="button"'
. ' onclick="window.parent.Joomla.Modal.getCurrent().close();">'
. $cancel . '</button>'
.'<joomla-toolbar-button' . $validate
. ' onclick="' . $onclick . 'Joomla.iframeButtonClick({iframeSelector: \'#' . $selector . 'Modal\', buttonSelector: \'#' . $selector . 'OkBtn\'})">'
. '<button class="btn btn-success" type="button">'
. $ok . '</button>'
.'</joomla-toolbar-button>'
)
);