Files
ms1inscription-v5/php/inc_fx_superadm_v2_ui.php
stephan 8c7f3e13ed Refactor superadmin UI components and enhance ChronoTrack API integration
This commit introduces a new UI structure for the superadmin interface by implementing the fxSuperadmV2Panel functions, which improve the organization and presentation of event access and ChronoTrack API sections. The changes include the addition of collapsible panels for better user interaction and visual clarity. Additionally, the versioning in the settings file is updated to reflect the latest changes. These enhancements aim to streamline the user experience and improve the overall functionality of the superadmin interface.
2026-07-03 20:27:30 -04:00

59 lines
2.6 KiB
PHP

<?php
/**
* Panneau visuel V2 superadmin — zone teal + boîte blanche + en-tête badge V2.
* MSIN — aligné sur la sidebar « Espace promoteur & outils ».
*/
function fxSuperadmV2PanelOpen($strTitle, $arrOpts = array())
{
$strTitle = htmlspecialchars((string)$strTitle, ENT_QUOTES, 'UTF-8');
$strCollapseId = isset($arrOpts['collapse_id']) ? preg_replace('/[^a-zA-Z0-9_-]/', '', (string)$arrOpts['collapse_id']) : '';
$blnExpanded = !empty($arrOpts['expanded']);
$strHeaderExtra = isset($arrOpts['header_extra']) ? (string)$arrOpts['header_extra'] : '';
$strZoneClass = isset($arrOpts['zone_class']) ? (string)$arrOpts['zone_class'] : 'superadm-content-v2-zone';
$strZoneId = isset($arrOpts['zone_id']) ? preg_replace('/[^a-zA-Z0-9_-]/', '', (string)$arrOpts['zone_id']) : '';
$blnCollapsible = ($strCollapseId !== '');
$strZoneIdAttr = ($strZoneId !== '') ? ' id="' . htmlspecialchars($strZoneId, ENT_QUOTES, 'UTF-8') . '"' : '';
echo '<div class="' . htmlspecialchars($strZoneClass, ENT_QUOTES, 'UTF-8') . '"' . $strZoneIdAttr . '>';
echo '<div class="superadm-v2-panel">';
if ($blnCollapsible) {
$strAria = $blnExpanded ? 'true' : 'false';
echo '<button type="button" class="superadm-v2-panel__header superadm-v2-panel__header--toggle"'
. ' data-toggle="collapse" data-target="#' . htmlspecialchars($strCollapseId, ENT_QUOTES, 'UTF-8') . '"'
. ' aria-expanded="' . $strAria . '" aria-controls="' . htmlspecialchars($strCollapseId, ENT_QUOTES, 'UTF-8') . '">';
} else {
echo '<div class="superadm-v2-panel__header">';
}
echo '<span class="superadm-v2-panel__badge">V2</span>';
echo '<span class="superadm-v2-panel__title">' . $strTitle . '</span>';
if ($strHeaderExtra !== '') {
echo $strHeaderExtra;
}
if ($blnCollapsible) {
echo '<span class="superadm-v2-panel__toggle" aria-hidden="true">';
echo '<i class="fa fa-chevron-down superadm-v2-panel__chevron" aria-hidden="true"></i>';
echo '<span class="superadm-v2-panel__toggle-label">Afficher / Masquer</span>';
echo '</span>';
echo '</button>';
echo '<div class="collapse' . ($blnExpanded ? ' show' : '') . '" id="' . htmlspecialchars($strCollapseId, ENT_QUOTES, 'UTF-8') . '">';
}
echo '<div class="superadm-v2-panel__body">';
}
function fxSuperadmV2PanelClose($arrOpts = array())
{
$strCollapseId = isset($arrOpts['collapse_id']) ? preg_replace('/[^a-zA-Z0-9_-]/', '', (string)$arrOpts['collapse_id']) : '';
echo '</div>';
if ($strCollapseId !== '') {
echo '</div>';
}
echo '</div>';
echo '</div>';
}