From 2b4060770a71e1affa80e63753f4e6bb21e41f32 Mon Sep 17 00:00:00 2001 From: stephan Date: Thu, 2 Jul 2026 18:20:34 -0400 Subject: [PATCH] Enhance ChronoTrack API event page rendering and form integration This commit updates the `fxChronotrackApiAdminRenderEventPage` function to include an optional parameter for inline rendering, allowing for a more flexible display of the ChronoTrack API section. The event modification form is also adjusted to conditionally render the ChronoTrack API section based on the event ID, improving user experience and navigation. Additionally, the layout is refined to ensure proper heading levels based on the inline status. --- php/chronotrack_api/fx_chronotrack_admin.php | 17 +++++++++---- superadm/php/inc_form.php | 26 +++++++++----------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/php/chronotrack_api/fx_chronotrack_admin.php b/php/chronotrack_api/fx_chronotrack_admin.php index c524b4e..29c3963 100644 --- a/php/chronotrack_api/fx_chronotrack_admin.php +++ b/php/chronotrack_api/fx_chronotrack_admin.php @@ -7,7 +7,7 @@ function fxChronotrackApiAdminEsc($str) { return htmlspecialchars((string)$str, ENT_QUOTES, 'UTF-8'); } -function fxChronotrackApiAdminRenderEventPage($intEveId, $strLangue = 'fr') { +function fxChronotrackApiAdminRenderEventPage($intEveId, $strLangue = 'fr', $blnInlineOnEventForm = false) { global $vDomaine; $arrEvent = fxChronotrackApiMs1EventRow($intEveId, $strLangue); @@ -21,8 +21,13 @@ function fxChronotrackApiAdminRenderEventPage($intEveId, $strLangue = 'fr') { $strStatus = $arrConfig['sync_status'] ?? ''; $blnClosed = ($strStatus === MSIN_API_CHRONOTRACK_SYNC_FERME); - echo '
'; - echo '

MSIN API ChronoTrack

'; + $strWrapperId = $blnInlineOnEventForm ? ' id="chronotrack_api"' : ''; + echo '
'; + if ($blnInlineOnEventForm) { + echo '

MSIN API ChronoTrack

'; + } else { + echo '

MSIN API ChronoTrack

'; + } echo '

Configuration du lien pour l\'événement MS1 ' . fxChronotrackApiAdminEsc($arrEvent['eve_nom']) . ' (eve_id ' . intval($arrEvent['eve_id']) . ').

'; @@ -69,8 +74,10 @@ function fxChronotrackApiAdminRenderEventPage($intEveId, $strLangue = 'fr') { fxChronotrackApiAdminRenderRaceMapping($intEveId, $arrConfig, $strLangue, $blnClosed); } - echo '

← Retour fiche événement

'; + if (!$blnInlineOnEventForm) { + echo '

← Retour fiche événement

'; + } echo '
'; fxChronotrackApiAdminRenderPageScript($intEveId, $arrConfig, $blnClosed, $vDomaine); diff --git a/superadm/php/inc_form.php b/superadm/php/inc_form.php index 3421e94..ce1be0e 100644 --- a/superadm/php/inc_form.php +++ b/superadm/php/inc_form.php @@ -27,6 +27,9 @@ if (!isset($strhomeclientannuler)) { } $intMenuActuel = intval($tabResults['menu']['men_id']); +$strMenuTableActuel = isset($tabResults['menu']['men_table']) ? (string)$tabResults['menu']['men_table'] : ''; +$intEveIdForm = ($strAction === 'mod' && !empty($_GET['id'])) ? intval($_GET['id']) : 0; +$blnIsEventModForm = ($intEveIdForm > 0 && ($intMenuActuel === 4 || $strMenuTableActuel === 'inscriptions_evenements')); $blnCompteShowAccesSections = false; if ($strAction == 'mod' && $tabResults['data'] == null) { @@ -105,17 +108,6 @@ if ($strAction == 'mod') { require_once(dirname(__FILE__) . '/../../php/inc_fx_eve_acces.php'); fxEveAccesShowEventAccessPanel(intval($_GET['id'])); - ?> -
-
-

MSIN API ChronoTrack

-

Lier cet événement à ChronoTrack Live (mapping épreuves, sync).

- -  Configurer ChronoTrack - -
-
- @@ -134,7 +126,7 @@ if ($strAction == 'mod') { ChronoTrack @@ -1092,6 +1084,12 @@ if ($strAction == 'mod') {

 

'; + } + for ($intCtr = 1; $intCtr <= fxcountpatch($tabSubTables); $intCtr++) { $intMenu = urlencode(base64_encode(fxUnescape($tabSubTables[$intCtr]['men_id']))); @@ -1104,9 +1102,7 @@ if ($strAction == 'mod') { } -} -if ($strAction == 'mod') { - if ($intMenuActuel == 4) { + if ($blnIsEventModForm) { ?>

Rapport de l'événement