Update version code to 4.72.63 in inc_settings.php

This commit is contained in:
2026-06-16 16:23:32 -04:00
parent f9011a3dc2
commit e43cff9762
4 changed files with 157 additions and 98 deletions

View File

@ -1012,7 +1012,13 @@ ul.ms1-menu-compte li a:hover, ul.ms1-menu-compte li a:active {
.epr-action-group{
display:inline-flex;
align-items:center;
gap:4px;
gap:8px;
}
.epr-auto-badge-wrap{
display:inline-flex;
align-items:center;
gap:8px;
}
.epr-add-range-wrap{
@ -1025,7 +1031,28 @@ ul.ms1-menu-compte li a:hover, ul.ms1-menu-compte li a:active {
.epr-header-label{
display:inline-flex;
align-items:center;
gap:6px;
gap:8px;
}
.batch-config label{
display:inline-flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}
.batch-info{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}
.auto-info{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}
.btn-aide-bib{
@ -1048,23 +1075,53 @@ ul.ms1-menu-compte li a:hover, ul.ms1-menu-compte li a:active {
color:#212529;
}
/* (?) inline dans un bouton action — masqué avec le bouton parent. */
.bib-aide-inline{
display:inline;
margin-left:0.35em;
font-weight:700;
cursor:help;
white-space:nowrap;
/* (?) rond assorti au bouton voisin (Bootstrap ms1). */
.btn-secondary + .btn-aide-bib,
.btn-aide-tone-secondary{
border-color:#6c757d;
background-color:#6c757d;
color:#fff;
}
.btn-secondary + .btn-aide-bib:hover,
.btn-aide-tone-secondary:hover{
background-color:#5a6268;
color:#fff;
}
button .bib-aide-inline,
.badge .bib-aide-inline{
color:inherit;
.btn-success + .btn-aide-bib,
.btn-aide-tone-success,
.btn-auto.btn-success + .btn-aide-bib{
border-color:#28a745;
background-color:#28a745;
color:#fff;
}
.btn-success + .btn-aide-bib:hover,
.btn-aide-tone-success:hover,
.btn-auto.btn-success + .btn-aide-bib:hover{
background-color:#218838;
color:#fff;
}
.bib-aide-inline:focus{
outline:1px dotted currentColor;
outline-offset:2px;
.btn-danger + .btn-aide-bib,
.btn-aide-tone-danger{
border-color:#dc3545;
background-color:#dc3545;
color:#fff;
}
.btn-danger + .btn-aide-bib:hover,
.btn-aide-tone-danger:hover{
background-color:#c82333;
color:#fff;
}
.btn-auto.btn-secondary + .btn-aide-bib{
border-color:#6c757d;
background-color:#6c757d;
color:#fff;
}
.btn-auto.btn-secondary + .btn-aide-bib:hover{
background-color:#5a6268;
color:#fff;
}
.tippy-box[data-theme~='ms1-bib']{
@ -1125,8 +1182,8 @@ button .bib-aide-inline,
.epr-line{
display:grid;
grid-template-columns: minmax(72px, 1fr) minmax(72px, 1fr) 52px 52px 52px 52px 52px 36px 36px;
gap:8px;
grid-template-columns: 52px 52px 48px 48px 48px 48px 48px 32px 32px;
gap:6px;
align-items:center;
}
.batch-checkbox{

View File

@ -2032,13 +2032,25 @@ if ($strLangue == 'fr') {
interactive: true,
content: bibTippyAideContent
});
}
scope.querySelectorAll('.bib-aide-inline:not([data-bib-aide-bound])').forEach(function (el) {
el.setAttribute('data-bib-aide-bound', '1');
el.addEventListener('click', function (e) {
e.stopPropagation();
});
});
/** Affiche ou masque le .epr-action-group entier (bouton + ?). */
function bibSetActionGroupDisplay(btn, show) {
if (!btn) return;
let group = btn.closest('.epr-action-group');
let val = show ? '' : 'none';
if (group) {
group.style.display = val;
} else {
btn.style.display = show ? '' : 'none';
}
}
function bibSetGroupDisplay(selector, show, row) {
let el = (row || moduleBib).querySelector(selector);
if (el) {
el.style.display = show ? '' : 'none';
}
}
function setBibContainerHtml(row, html) {
@ -2090,8 +2102,8 @@ if ($strLangue == 'fr') {
if (!row) return;
let btnAuto = row.querySelector('.btn-auto');
let badge = row.querySelector('.bib-auto-badge');
let btnDesactiver = row.querySelector('.btn-desactiver-auto');
let badgeWrap = row.querySelector('.epr-auto-badge-wrap');
let desactiverGroup = row.querySelector('.epr-action-desactiver-group');
row.dataset.autoActive = isActive ? '1' : '0';
@ -2107,12 +2119,12 @@ if ($strLangue == 'fr') {
btnAuto.classList.toggle('btn-secondary', !isActive);
}
if (badge) {
badge.style.display = isActive ? '' : 'none';
if (badgeWrap) {
badgeWrap.style.display = isActive ? '' : 'none';
}
if (btnDesactiver) {
btnDesactiver.style.display = isActive ? '' : 'none';
if (desactiverGroup) {
desactiverGroup.style.display = isActive ? '' : 'none';
}
}
@ -2147,10 +2159,7 @@ if ($strLangue == 'fr') {
btnBatch.style.display = '';
}
let btnReset = row.querySelector('.btn-reset');
if (btnReset) {
btnReset.style.display = '';
}
bibSetGroupDisplay(row.querySelector('.btn-reset'), true);
fetch('/ajax_bib_range.php', {
method: 'POST',
@ -2208,10 +2217,7 @@ if ($strLangue == 'fr') {
btnBatch.style.display = 'none';
}
let btnReset = row.querySelector('.btn-reset');
if (btnReset) {
btnReset.style.display = 'none';
}
bibSetGroupDisplay(row.querySelector('.btn-reset'), false);
fetch('/ajax_bib_range.php', {
method: 'POST',
@ -2264,8 +2270,11 @@ if ($strLangue == 'fr') {
// RESET BUTTON
// =====================
let btnReset = row.querySelector('.btn-reset');
let resetGroup = row.querySelector('.epr-action-reset-group');
if (btnReset) {
if (resetGroup) {
resetGroup.style.display = hasBib ? '' : 'none';
} else if (btnReset) {
btnReset.style.display = hasBib ? '' : 'none';
}
@ -2477,8 +2486,8 @@ if ($strLangue == 'fr') {
let hasSelection = selected.length > 0;
if (goBtn) goBtn.style.display = hasSelection ? 'inline-block' : 'none';
if (simBtn) simBtn.style.display = hasSelection ? 'inline-block' : 'none';
bibSetGroupDisplay('.epr-action-go-group', hasSelection, row);
bibSetGroupDisplay('.epr-action-sim-group', hasSelection, row);
row.dataset.loading = '0';
@ -2755,9 +2764,10 @@ if ($strLangue == 'fr') {
let goBtn = row.querySelector('.btn-go-batch');
if (goBtn) {
goBtn.style.display = 'none';
goBtn.textContent = 'GO';
}
bibSetGroupDisplay(row.querySelector('.btn-go-batch'), false);
bibSetGroupDisplay(row.querySelector('.btn-simuler-batch'), false);
// Reset des checkbox
row.querySelectorAll('.batch-select-range').forEach(cb => {
cb.checked = false;
@ -2886,14 +2896,10 @@ if ($strLangue == 'fr') {
let goBtn = row.querySelector('.btn-go-batch');
if (goBtn) {
goBtn.style.display = 'none';
goBtn.textContent = 'GO';
}
let simBtn = row.querySelector('.btn-simuler-batch');
if (simBtn) {
simBtn.style.display = 'none';
}
bibSetGroupDisplay(row.querySelector('.btn-go-batch'), false);
bibSetGroupDisplay(row.querySelector('.btn-simuler-batch'), false);
let orderBlock = row.querySelector('.batch-order');
if (orderBlock) {
@ -2973,18 +2979,13 @@ if ($strLangue == 'fr') {
orderBlock.closest('.mb-2').style.display = 'none';
}
// cacher simuler
let simBtn = row.querySelector('.btn-simuler-batch');
if (simBtn) {
simBtn.style.display = 'none';
}
bibSetGroupDisplay(row.querySelector('.btn-simuler-batch'), false);
// bouton GO
let goBtn = row.querySelector('.btn-go-batch');
if (goBtn) {
goBtn.style.display = 'none';
goBtn.textContent = 'Réinitialiser';
}
bibSetGroupDisplay(goBtn, false);
// warning
let info = row.querySelector('.epr-actions .batch-info-text');
@ -3101,11 +3102,8 @@ if ($strLangue == 'fr') {
});
// cacher boutons batch
let goBtn = row.querySelector('.btn-go-batch');
let simBtn = row.querySelector('.btn-simuler-batch');
if (goBtn) goBtn.style.display = 'none';
if (simBtn) simBtn.style.display = 'none';
bibSetGroupDisplay(row.querySelector('.btn-go-batch'), false);
bibSetGroupDisplay(row.querySelector('.btn-simuler-batch'), false);
// cacher config
let config = row.querySelector('.batch-config-container');

View File

@ -2725,37 +2725,30 @@ function fxBibTippyAttr($clef) {
return ' data-tippy-content="' . fxBibEsc($strTip) . '"';
}
/** Contenu aide (?) — texte caché + « ? » avec espace après. */
/** Contenu aide (?) — texte caché ; espace visuel avant le rond via CSS (.epr-action-group gap). */
function fxBibAideInner($clef) {
$strAide = trim(fxBibAide($clef, 0));
if ($strAide === '') {
return '';
}
return '<span class="bib-aide-text" hidden>' . fxBibEsc($strAide) . '</span>? ';
return '<span class="bib-aide-text" hidden>' . fxBibEsc($strAide) . '</span>?';
}
/** Bouton (?) séparé — en-têtes, colonnes, textes sans bouton action. */
function fxBibAideButton($clef) {
/** Bouton (?) rond à côté du libellé / bouton action — $strTone : secondary|success|danger (optionnel). */
function fxBibAideButton($clef, $strTone = '') {
$strInner = fxBibAideInner($clef);
if ($strInner === '') {
return '';
}
return '<button type="button" class="btn-aide-bib bib-aide-trigger" aria-label="Aide">'
$strClass = 'btn-aide-bib bib-aide-trigger';
if ($strTone !== '') {
$strClass .= ' btn-aide-tone-' . preg_replace('/[^a-z0-9-]/', '', $strTone);
}
return '<button type="button" class="' . fxBibEsc($strClass) . '" aria-label="Aide">'
. $strInner
. '</button>';
}
/** (?) inline — à l'intérieur d'un bouton (masqué avec le bouton parent). */
function fxBibAideInline($clef) {
$strInner = fxBibAideInner($clef);
if ($strInner === '') {
return '';
}
return '<span class="bib-aide-inline bib-aide-trigger" role="button" tabindex="0" aria-label="Aide">'
. $strInner
. '</span>';
}
/** Libellé info_texte + bouton (?) si info_aide renseigné. */
function fxBibTexteAide($clef, $mem_echo = 1, $strFallback = '') {
$str = fxBibTexte($clef, 0, $strFallback);
@ -2784,8 +2777,9 @@ function renderBibAddRangeButton($epr_id, $extraStyle = '') {
<button type="button"
class="btn btn-success btn-sm btn-add-range"
data-epr-id="<?php echo (int)$epr_id; ?>"<?php echo fxBibTippyAttr('bib_v4_tip_add'); ?>>
<?php fxBibTexte('bib_v4_add', 1); ?><?php echo fxBibAideInline('bib_v4_add'); ?>
<?php fxBibTexte('bib_v4_add', 1); ?>
</button>
<?php echo fxBibAideButton('bib_v4_add', 'success'); ?>
</div>
<?php
return ob_get_clean();
@ -2817,23 +2811,29 @@ function renderBibAssignActions($tabBibAssignments, $strLangue, $infoBib, $blnAu
<div class="epr-action-row epr-action-row-main">
<span class="epr-action-group">
<button type="button" class="btn btn-sm btn-secondary btn-assign-batch"<?php echo fxBibTippyAttr('bib_v4_tip_assign_seq'); ?>>
<?php fxBibTexte('bib_v4_assign_seq', 1); ?><?php echo fxBibAideInline('bib_v4_assign_seq'); ?>
<?php fxBibTexte('bib_v4_assign_seq', 1); ?>
</button>
<?php echo fxBibAideButton('bib_v4_assign_seq', 'secondary'); ?>
</span>
<span class="epr-action-group">
<span class="epr-action-group epr-action-reset-group"
style="<?php echo ((int)$infoBib['avec_bib'] > 0 ? '' : 'display:none;'); ?>">
<button type="button"
class="btn btn-sm btn-danger btn-reset"
style="<?php echo ((int)$infoBib['avec_bib'] > 0 ? '' : 'display:none;'); ?>"<?php echo fxBibTippyAttr('bib_v4_tip_reset'); ?>>
<?php fxBibTexte('bib_v4_reset', 1); ?><?php echo fxBibAideInline('bib_v4_reset'); ?>
class="btn btn-sm btn-danger btn-reset"<?php echo fxBibTippyAttr('bib_v4_tip_reset'); ?>>
<?php fxBibTexte('bib_v4_reset', 1); ?>
</button>
<?php echo fxBibAideButton('bib_v4_reset', 'danger'); ?>
</span>
<span class="epr-action-group">
<button type="button"
class="btn btn-sm btn-auto <?php echo $blnAutoActive ? 'btn-success' : 'btn-secondary'; ?>"<?php echo fxBibTippyAttr('bib_v4_tip_auto'); ?>>
<?php echo fxBibEsc($blnAutoActive ? fxBibTexte('bib_v4_auto_config', 0) : fxBibTexte('bib_v4_auto', 0)); ?><?php echo fxBibAideInline('bib_v4_auto'); ?>
<?php echo fxBibEsc($blnAutoActive ? fxBibTexte('bib_v4_auto_config', 0) : fxBibTexte('bib_v4_auto', 0)); ?>
</button>
<span class="bib-auto-badge badge badge-success ml-1"
style="<?php echo $blnAutoActive ? '' : 'display:none;'; ?>"><?php fxBibTexte('bib_v4_auto_badge', 1); ?><?php echo fxBibAideInline('bib_v4_auto_badge'); ?></span>
<?php echo fxBibAideButton('bib_v4_auto', $blnAutoActive ? 'success' : 'secondary'); ?>
<span class="epr-auto-badge-wrap ml-1"
style="<?php echo $blnAutoActive ? '' : 'display:none;'; ?>">
<span class="bib-auto-badge badge badge-success"><?php fxBibTexte('bib_v4_auto_badge', 1); ?></span>
<?php echo fxBibAideButton('bib_v4_auto_badge', 'success'); ?>
</span>
</span>
</div>
@ -2844,17 +2844,19 @@ function renderBibAssignActions($tabBibAssignments, $strLangue, $infoBib, $blnAu
</div>
<div class="epr-action-row">
<span class="epr-action-group">
<button type="button" class="btn btn-sm btn-success btn-accepter-auto"><?php fxBibTexte('bib_v4_auto_accept', 1); ?><?php echo fxBibAideInline('bib_v4_auto_accept'); ?></button>
<button type="button" class="btn btn-sm btn-success btn-accepter-auto"><?php fxBibTexte('bib_v4_auto_accept', 1); ?></button>
<?php echo fxBibAideButton('bib_v4_auto_accept', 'success'); ?>
</span>
<span class="epr-action-group">
<button type="button" class="btn btn-sm btn-secondary btn-annuler-auto"><?php fxBibTexte('bib_v4_auto_cancel', 1); ?><?php echo fxBibAideInline('bib_v4_auto_cancel'); ?></button>
<button type="button" class="btn btn-sm btn-secondary btn-annuler-auto"><?php fxBibTexte('bib_v4_auto_cancel', 1); ?></button>
<?php echo fxBibAideButton('bib_v4_auto_cancel', 'secondary'); ?>
</span>
<span class="epr-action-group">
<button type="button"
class="btn btn-sm btn-danger btn-desactiver-auto"
style="<?php echo $blnAutoActive ? '' : 'display:none;'; ?>">
<?php fxBibTexte('bib_v4_auto_disable', 1); ?><?php echo fxBibAideInline('bib_v4_auto_disable'); ?>
<span class="epr-action-group epr-action-desactiver-group"
style="<?php echo $blnAutoActive ? '' : 'display:none;'; ?>">
<button type="button" class="btn btn-sm btn-danger btn-desactiver-auto">
<?php fxBibTexte('bib_v4_auto_disable', 1); ?>
</button>
<?php echo fxBibAideButton('bib_v4_auto_disable', 'danger'); ?>
</span>
</div>
</div>
@ -2862,15 +2864,17 @@ function renderBibAssignActions($tabBibAssignments, $strLangue, $infoBib, $blnAu
<div class="batch-config-container" style="display:none;">
<?php echo renderBatchConfig($tabBibAssignments, $strLangue, $blnTeamEpreuve); ?>
<div class="epr-action-row">
<span class="epr-action-group">
<button type="button" class="btn btn-sm btn-secondary btn-simuler-batch" style="display:none;">
<?php fxBibTexte('bib_v4_batch_simulate', 1); ?><?php echo fxBibAideInline('bib_v4_batch_simulate'); ?>
<span class="epr-action-group epr-action-sim-group" style="display:none;">
<button type="button" class="btn btn-sm btn-secondary btn-simuler-batch">
<?php fxBibTexte('bib_v4_batch_simulate', 1); ?>
</button>
<?php echo fxBibAideButton('bib_v4_batch_simulate', 'secondary'); ?>
</span>
<span class="epr-action-group">
<button type="button" class="btn btn-sm btn-success btn-go-batch" style="display:none;">
<?php fxBibTexte('bib_v4_batch_go', 1); ?><?php echo fxBibAideInline('bib_v4_batch_go'); ?>
<span class="epr-action-group epr-action-go-group" style="display:none;">
<button type="button" class="btn btn-sm btn-success btn-go-batch">
<?php fxBibTexte('bib_v4_batch_go', 1); ?>
</button>
<?php echo fxBibAideButton('bib_v4_batch_go', 'success'); ?>
</span>
</div>
</div>

View File

@ -7,7 +7,7 @@
* Constantes *
*
**************/
define('_VERSION_CODE', '4.72.63');
define('_VERSION_CODE', '4.72.631');
define('_DATE_CODE', '2026-06-17');
//MSIN-4290
define('QR_SECRET_KEY', 'ms1_qr_2026_cle_secrete_longue_et_fixe');