Update version code to 4.72.63 in inc_settings.php
This commit is contained in:
@ -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{
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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');
|
||||
|
||||
Reference in New Issue
Block a user