Files
ms1inscription-v5/php/inc_fx_superadm_v2_ui.php

62 lines
2.8 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') . '">';
} else {
// Fermer le header : sinon le body reste enfant flex du header (colonne teal vide + contraste cassé).
echo '</div>';
}
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>';
}