Files
ms1inscription-v5/superadm/inc_droite.php
stephan 670fd20e44 Implement sidebar static synchronization logic and update sync function documentation
This commit introduces a new variable for sidebar static synchronization based on the HTTP_HOST, enhancing the conditions under which static database synchronization is allowed. Additionally, the documentation for the sync function is updated to reflect alignment with the new logic, improving clarity on its operational context. These changes aim to streamline the synchronization process and enhance the overall functionality of the superadmin interface.
2026-07-06 14:11:06 -04:00

281 lines
15 KiB
PHP

<?php
global $db, $objDatabase, $vblnEnvironementDev, $vDomaine, $vblnEnvironementPreProd;
$strSidebarScript = basename($_SERVER['SCRIPT_NAME'] ?? '');
$strEveAccesP = $_GET['p'] ?? 'kits';
$blnEveAccesActive = ($strSidebarScript === 'eve_acces.php');
$blnEveAccesKits = $blnEveAccesActive && in_array($strEveAccesP, array('kits', 'kit', 'assignations'), true);
$blnCtApiActive = ($strSidebarScript === 'chronotrack_api.php');
$blnDocActive = ($strSidebarScript === 'documentation.php');
// Sync BD — HTTP_HOST direct (évite échec des global $vbln… selon le contexte d'inclusion)
$blnSidebarStaticSync = !empty($_SESSION['usa_id'])
&& strpos(strtolower((string)($_SERVER['HTTP_HOST'] ?? '')), 'ms1inscriptiondev') !== false
&& strpos(strtolower((string)($_SERVER['HTTP_HOST'] ?? '')), 'preprod.') !== false;
?>
<div class="col-md-3 col-lg-2 order-last order-md-first border-right p-0 superadm-sidebar-col">
<div class="superadm-sidebar-legacy bg-light py-3 px-3">
<h4>Confirmation commande</h4>
<div class="p-3">
<?php
$intSendMail = fxGetVariable('confirm_mail');
if (intval($intSendMail) == 1) {
$intValeur = 0;
$strClass = 'btn-success';
$strImage = '<i class="fa fa-envelope mr-2" aria-hidden="true"></i>Envoyer courriel';
} else {
$intValeur = 1;
$strClass = 'btn-danger';
$strImage = '
<span class="fa-stack fa-lg">
<i class="fa fa-envelope-o fa-stack-1x"></i>
<i class="fa fa-ban fa-stack-2x"></i>
</span>
Aucun envoi courriel
';
}
?>
<a class="btn btn-sm rounded-0 <?php echo $strClass; ?>" id="btn_confirm_mail" href="#" data-action="change-var" data-key="confirm_mail" data-valeur="<?php echo $intValeur; ?>">
<?php echo $strImage; ?>
</a>
</div>
<h4>État du site</h4>
<div class="p-3">
<?php
$sqlMaintenance = "SELECT mai_actif FROM maintenance WHERE mai_id = 1";
$intMaintenance = $objDatabase->fxGetVar($sqlMaintenance);
if (intval($intMaintenance) == 1) {
$intValeur = 0;
$strClass = 'btn-danger';
$strImage = '<i class="fa fa-times mr-2" aria-hidden="true"></i>En maintenance';
} else {
$intValeur = 1;
$strClass = 'btn-success';
$strImage = '<i class="fa fa-check mr-2" aria-hidden="true"></i>En ligne';
}
?>
<a class="btn btn-sm rounded-0 <?php echo $strClass; ?>" id="btn_maintenance" href="#" data-action="actif2" data-table="<?php echo urlencode(base64_encode('maintenance')); ?>" data-field="mai_actif" data-key="mai_id" data-valeur="<?php echo $intValeur; ?>" data-id="1">
<?php echo $strImage; ?>
</a>
</div>
<h4 class="superadm-sidebar-title superadm-sidebar-title--legacy">Gestion des infos du site web</h4>
<?php
$tabMenus = fxGetMenussuperadm(0, 0, 0, 0, 0, 1);
?>
<ul class="nav nav-pills flex-column">
<?php
for ($intCtr = 1; $intCtr <= count($tabMenus); $intCtr++) {
if($tabMenus[$intCtr]['men_id']<>246){
$strMenuIcone = trim((string)fxUnescape($tabMenus[$intCtr]['men_icone']));
?>
<li class="nav-item" role="presentation">
<a class="nav-link<?php if (isset($_GET['t']) && base64_decode(urldecode($_GET['t'])) == $tabMenus[$intCtr]['men_id']) { ?> active<?php } ?>" href="index.php?t=<?php echo urlencode(base64_encode(fxUnescape($tabMenus[$intCtr]['men_id']))); ?>&amp;a=list"><?php
if ($strMenuIcone !== '') {
echo '<img src="images_blue/' . htmlspecialchars($strMenuIcone, ENT_QUOTES, 'UTF-8') . '" alt="" />';
} else {
echo '<i class="fa fa-folder-o" aria-hidden="true"></i>';
}
?>&nbsp;<?php echo fxUnescape($tabMenus[$intCtr]['men_nom']); ?></a>
</li>
<?php
if ($tabMenus[$intCtr]['men_nom'] == 'Rabais' && $vblnEnvironementDev) {
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="<?php echo $vDomaine; ?>/maj_rabais.php?p=<?php echo fxUnescape($_SESSION['usa_info']['com_login']); ?>" target="_blank"><img src="images_blue/ico_promotions.png" alt="" />&nbsp;Créer des rabais</a>
</li>
<?php
}
}}
?>
</ul>
<h4><span>Rapports</span> particuliers</h4>
<?php
$tabMenus = fxGetMenussuperadm(0, 0, 1);
?>
<ul class="nav nav-pills flex-column">
<li class="nav-item" role="presentation">
<a class="nav-link"
href="rapport_new.php?r=remboursements-bilan&lng=fr&a-ach_maj_from=2000-01-01&a-ach_maj_to=<?php echo date('Y-m-d') ?>&btn_search="
target="_blank"><i class="fa fa-money" aria-hidden="true"></i>&nbsp;Remboursements bilan</a>
</li>
<?php
for ($intCtr = 1; $intCtr <= count($tabMenus); $intCtr++) {
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="index.php?t=<?php echo urlencode(base64_encode(fxUnescape($tabMenus[$intCtr]['men_id']))); ?>&amp;a=report" target="_blank"><i class="fa fa-bar-chart" aria-hidden="true"></i>&nbsp;<?php echo fxUnescape($tabMenus[$intCtr]['men_nom']); ?></a>
</li>
<?php
}
?>
</ul>
<h4><span>Rapports</span> événements</h4>
<?php
$sqlEvenements = "SELECT eve_id, eve_nom_fr, eve_rapport_finances_capitaines, te_id FROM inscriptions_evenements WHERE DATE_SUB(CURDATE(),INTERVAL 6 MONTH) <= eve_date_fin ORDER BY eve_date_debut DESC";
$arrEvenements = $objDatabase->fxGetResults($sqlEvenements);
if ($arrEvenements != null) {
for ($intCtr = 1; $intCtr <= count($arrEvenements); $intCtr++) {
?>
<h5><?php echo $arrEvenements[$intCtr]['eve_nom_fr']; ?></h5>
<ul class="nav nav-pills flex-column">
<?php
if ($arrEvenements[$intCtr]['te_id'] != 9) {
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=chrono&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr" target="_blank"><i class="fa fa-clock-o" aria-hidden="true"></i>&nbsp;chrono + questions</a>
</li>
<?php
}
if ($arrEvenements[$intCtr]['te_id'] == 13) {
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=adhesions&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr" target="_blank"><i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>adhésions actives</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=adhesions-ventes&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr" target="_blank"><i class="fa fa-bar-chart mr-2" aria-hidden="true"></i>liste d'adhésions annuelles</a>
</li>
<?php
}
if ($arrEvenements[$intCtr]['eve_rapport_finances_capitaines'] == 1) {
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=finances-pnq&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr" target="_blank"><i class="fa fa-money" aria-hidden="true"></i>&nbsp;Transactions-Finances (capitaines seulement)</a>
</li>
<?php
}
$year = date('Y'); // Année courante
$datetq = $year . '-04-01 00:00:00';
if ($arrEvenements[$intCtr]['te_id'] == 13) {
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=finances-membership&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr&a-ach_maj_from=<?php echo $datetq; ?> &btn_search=" target="_blank"><i class="fa fa-money" aria-hidden="true"></i>&nbsp;Transactions-Finances - Tout</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=finances-membership-tq&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr&a-ach_maj_from=<?php echo $datetq; ?> &btn_search=" target="_blank"><i class="fa fa-money" aria-hidden="true"></i>&nbsp;Transactions-Finances - Adhésions Seul</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=finances-membership-autre&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr&a-ach_maj_from=<?php echo $datetq; ?> &btn_search=" target="_blank"><i class="fa fa-money" aria-hidden="true"></i>&nbsp;Transactions-Finances - Événements Seul</a>
</li>
<?php
}else{
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=finances&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr" target="_blank"><i class="fa fa-money" aria-hidden="true"></i>&nbsp;Transactions-Finances</a>
</li>
<?php
}
?>
<li class="nav-item" role="presentation">
<a class="nav-link" href="rapport_new.php?r=remboursements&e=<?php echo urlencode(base64_encode($arrEvenements[$intCtr]['eve_id'])); ?>&lng=fr" target="_blank"><i class="fa fa-money" aria-hidden="true"></i>&nbsp;Paiements</a>
</li>
</ul>
<?php
}
}
?>
</div>
<div class="superadm-sidebar-v2-zone">
<aside class="superadm-sidebar-v2-panel">
<div class="superadm-sidebar-v2-panel__header">
<span class="superadm-sidebar-v2-panel__badge">V2</span>
<span class="superadm-sidebar-v2-panel__title">Espace promoteur &amp; outils</span>
</div>
<div class="superadm-sidebar-v2-panel__body">
<?php if ($blnSidebarStaticSync) { ?>
<div class="superadm-sidebar-v2-panel__group">
<div class="superadm-sidebar-v2-panel__label">Mise en prod</div>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav">
<li class="nav-item" role="presentation">
<a class="nav-link" href="<?php echo $vDomaine; ?>/php/sync_static_db.php" target="_blank">
<i class="fa fa-database" aria-hidden="true"></i>&nbsp;Sync tables statiques (BD)
</a>
</li>
</ul>
</div>
<?php } ?>
<div class="superadm-sidebar-v2-panel__group">
<div class="superadm-sidebar-v2-panel__label">Accès promoteur</div>
<?php
$intLegacyActif = fxGetVariable('promoteur_legacy_actif');
if ($intLegacyActif === null || $intLegacyActif === '') {
$intLegacyActif = 1;
}
if (intval($intLegacyActif) === 1) {
$intLegacyToggle = 0;
$strLegacyClass = 'btn-success';
$strLegacyLabel = '<i class="fa fa-check mr-2" aria-hidden="true"></i>Legacy promoteur actif';
} else {
$intLegacyToggle = 1;
$strLegacyClass = 'btn-warning';
$strLegacyLabel = '<i class="fa fa-pause mr-2" aria-hidden="true"></i>Legacy promoteur désactivé';
}
?>
<a class="btn btn-sm rounded-0 btn-block text-left <?php echo $strLegacyClass; ?>"
id="btn_promoteur_legacy"
href="#"
data-action="change-var"
data-key="promoteur_legacy_actif"
data-valeur="<?php echo intval($intLegacyToggle); ?>"
title="Coupe l'accès site via com_eve_promoteur (les données fiche compte ne changent pas).">
<?php echo $strLegacyLabel; ?>
</a>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav mt-2">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnEveAccesKits && ($strEveAccesP === 'kits' || $strEveAccesP === 'kit' || $strEveAccesP === 'assignations')) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/eve_acces.php?p=kits">
<i class="fa fa-cubes" aria-hidden="true"></i>&nbsp;Kits d'accès
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnEveAccesActive && $strEveAccesP === 'migrate') { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/eve_acces.php?p=migrate">
<i class="fa fa-exchange" aria-hidden="true"></i>&nbsp;Migration legacy
</a>
</li>
</ul>
</div>
<div class="superadm-sidebar-v2-panel__group">
<div class="superadm-sidebar-v2-panel__label">ChronoTrack</div>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnCtApiActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/chronotrack_api.php">
<i class="fa fa-clock-o" aria-hidden="true"></i>&nbsp;Courses connectées
</a>
</li>
</ul>
</div>
<div class="superadm-sidebar-v2-panel__group mb-0">
<div class="superadm-sidebar-v2-panel__label">Documentation</div>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnDocActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/documentation.php">
<i class="fa fa-book" aria-hidden="true"></i>&nbsp;Documentation &amp; nouveautés
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnDocActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/documentation.php">
<i class="fa fa-files-o" aria-hidden="true"></i>&nbsp;Pages &amp; modules
</a>
</li>
</ul>
</div>
</div>
</aside>
</div>
</div>