diff --git a/compte.php b/compte.php index 9817bb4..f86a18a 100644 --- a/compte.php +++ b/compte.php @@ -335,6 +335,7 @@ $strMetaTitle = fxRemoveHtml(fxUnescape($recPage['pag_titre_' . $strLangue])); $strMetaDescription = fxRemoveHtml(fxUnescape($recPage['pag_description_' . $strLangue])); $strMetaKeywords = fxRemoveHtml(fxUnescape($recPage['pag_keywords_' . $strLangue])); $blnBoutonRetour = true; +$blnHideCompteTitle = false; require_once("inc_header.php"); @@ -344,7 +345,7 @@ require_once("inc_header.php");
@@ -361,7 +362,7 @@ require_once("inc_header.php"); } if (isset($_SESSION['msg'])) { echo fxMessage($_SESSION['msg'], '', $strLangue); - } else { + } else if (empty($blnHideCompteTitle)) { ?>
.epr-block > .epr-header:not(.inscr-mobile-result-card__head){ - border-radius:0; +.inscr-mobile-list-anchor{ + scroll-margin-top:8px; +} + +.inscr-mobile-pager .pagination{ + margin-bottom:0; +} + +.inscr-mobile-pager .page-link{ + min-width:38px; + text-align:center; } diff --git a/inc_footer_scripts.php b/inc_footer_scripts.php index 8fe6de5..86871f1 100644 --- a/inc_footer_scripts.php +++ b/inc_footer_scripts.php @@ -3453,6 +3453,15 @@ if ($strLangue == 'fr') { if (!moduleInscr) { return; } + var params = new URLSearchParams(window.location.search); + if (params.get('pec_id')) { + moduleInscr.scrollIntoView({block: 'start'}); + } else if (params.get('pg') && parseInt(params.get('pg'), 10) > 1) { + var listAnchor = document.getElementById('inscr-mobile-list'); + if (listAnchor) { + listAnchor.scrollIntoView({block: 'start'}); + } + } moduleInscr.addEventListener('click', function (e) { var btnToggle = e.target.closest('.epr-block-toggle'); if (!btnToggle || !moduleInscr.contains(btnToggle)) { diff --git a/inc_tableau_inscriptions_mobile.php b/inc_tableau_inscriptions_mobile.php index 54984ce..2b0d459 100644 --- a/inc_tableau_inscriptions_mobile.php +++ b/inc_tableau_inscriptions_mobile.php @@ -11,7 +11,7 @@ global $objDatabase, $vDomaine, $strLangue; $intEveId = 0; if (isset($_GET['promoteur_eve_id'])) { - $intEveId = (int)base64_decode(urldecode($_GET['promoteur_eve_id'])); + $intEveId = fxInscrMobileParseEveId($_GET['promoteur_eve_id']); } if ($intEveId === 0) { diff --git a/mobile.php b/mobile.php index 821c592..d555d87 100644 --- a/mobile.php +++ b/mobile.php @@ -29,7 +29,7 @@ if (!isset($_SESSION['com_id'])) { $intEveId = 0; if (!empty($_GET['promoteur_eve_id'])) { - $intEveId = (int)base64_decode(urldecode($_GET['promoteur_eve_id'])); + $intEveId = fxInscrMobileParseEveId($_GET['promoteur_eve_id']); } $tabEveIds = fxInscrMobileGetPromoteurEveIds($_SESSION['com_id']); diff --git a/php/inc_fx_inscriptions_mobile.php b/php/inc_fx_inscriptions_mobile.php index f163abd..6efc61b 100644 --- a/php/inc_fx_inscriptions_mobile.php +++ b/php/inc_fx_inscriptions_mobile.php @@ -1,8 +1,7 @@ isset($_GET['rech_prenom']) ? trim($_GET['rech_prenom']) : '', @@ -54,7 +70,12 @@ function fxInscrMobileParseRequest() { ); if (!empty($_GET['sel_rech_epreuve'])) { - $arr['sel_rech_epreuve'] = intval(base64_decode(urldecode($_GET['sel_rech_epreuve']))); + $decoded = base64_decode(urldecode($_GET['sel_rech_epreuve']), true); + if ($decoded !== false && $decoded !== '') { + $arr['sel_rech_epreuve'] = intval($decoded); + } else { + $arr['sel_rech_epreuve'] = intval($_GET['sel_rech_epreuve']); + } } return $arr; @@ -74,17 +95,6 @@ function fxInscrMobileFilterActiveCount($arrReq) { return $int; } -function fxInscrMobileShouldShowResults($arrReq) { - return isset($_GET['btn_recherche']) - || isset($_GET['pg']) - || isset($_GET['apply_filters']) - || $arrReq['rech_prenom'] !== '' - || $arrReq['rech_nom'] !== '' - || $arrReq['rech_no_commande'] !== '' - || $arrReq['rech_nom_equipe'] !== '' - || fxInscrMobileFilterActiveCount($arrReq) > 0; -} - function fxInscrMobileBuildWhere($intEveId, $arrReq) { global $objDatabase; @@ -172,24 +182,12 @@ function fxInscrMobileBibDisplay($arrRow) { return fxShowBibNumber($arrRow['no_bib'], $arrRow['epr_id'], 'participant'); } -function fxInscrMobileCollapseToggle($strLangue, $blnCollapsed = true) { - $strCollapse = ($strLangue === 'fr') ? 'Réduire' : 'Collapse'; - $strExpand = ($strLangue === 'fr') ? 'Développer' : 'Expand'; - $strLabel = $blnCollapsed ? $strExpand : $strCollapse; - $strIcon = $blnCollapsed ? 'fa-chevron-down' : 'fa-chevron-up'; - - return ''; -} - -function fxInscrMobileQueryString($arrReq, $intEveId, $arrExtra = array()) { +/** Paramètres GET pour liens (sans double-encodage). */ +function fxInscrMobileQueryParams($intEveId, $arrReq, $arrExtra = array()) { $tab = array( - 'promoteur_eve_id' => urlencode(base64_encode($intEveId)), + 'promoteur_eve_id' => base64_encode((string)$intEveId), ); + if ($arrReq['rech_prenom'] !== '') { $tab['rech_prenom'] = $arrReq['rech_prenom']; } @@ -209,52 +207,80 @@ function fxInscrMobileQueryString($arrReq, $intEveId, $arrExtra = array()) { $tab['chk_cancelled'] = 1; } if ($arrReq['sel_rech_epreuve'] > 0) { - $tab['sel_rech_epreuve'] = urlencode(base64_encode($arrReq['sel_rech_epreuve'])); + $tab['sel_rech_epreuve'] = base64_encode((string)$arrReq['sel_rech_epreuve']); } - if (!empty($arrExtra)) { - $tab = array_merge($tab, $arrExtra); + if (!empty($_GET['lng'])) { + $tab['lng'] = $_GET['lng']; + } + if (!empty($arrReq['pg']) && (int)$arrReq['pg'] > 1) { + $tab['pg'] = (int)$arrReq['pg']; } - return http_build_query($tab, '', '&'); + foreach ($arrExtra as $strKey => $mixVal) { + if ($mixVal === null || $mixVal === '' || ($strKey === 'pec_id' && (int)$mixVal === 0)) { + unset($tab[$strKey]); + } else { + $tab[$strKey] = $mixVal; + } + } + + return $tab; +} + +function fxInscrMobileBuildUrl($strBaseUrl, $intEveId, $arrReq, $arrExtra = array()) { + $tab = fxInscrMobileQueryParams($intEveId, $arrReq, $arrExtra); + $strQs = http_build_query($tab, '', '&'); + + return $strBaseUrl . ($strQs !== '' ? '?' . $strQs : ''); +} + +function fxInscrMobilePaginationUrl($strBaseUrl, $intEveId, $arrReq) { + $tab = fxInscrMobileQueryParams($intEveId, $arrReq, array('pec_id' => null)); + unset($tab['pg'], $tab['pec_id']); + $strQs = http_build_query($tab, '', '&'); + + return $strBaseUrl . ($strQs !== '' ? '?' . $strQs : '?promoteur_eve_id=' . rawurlencode(base64_encode((string)$intEveId))); +} + +function fxInscrMobileRenderPagination($strBaseUrl, $intEveId, $arrReq, $intTotal, $intPerPage, $intPage) { + if ($intTotal <= $intPerPage) { + return ''; + } + + return '
' + . fxGetPagination( + fxInscrMobilePaginationUrl($strBaseUrl, $intEveId, $arrReq), + $intTotal, + $intPerPage, + $intPage + ) + . '
'; } function fxInscrMobileRenderEventPicker($tabEveIds, $strLangue, $strBaseUrl) { - global $objDatabase, $vDomaine, $vRepertoireFichiers; + global $objDatabase; $strTitle = ($strLangue === 'fr') ? 'Choisir un événement' : 'Choose an event'; - $strHint = ($strLangue === 'fr') - ? 'Sélectionnez l\'événement pour gérer les inscriptions.' - : 'Select the event to manage registrations.'; - echo '

' . fxInscrMobileEsc($strTitle) . '

'; - echo '

' . fxInscrMobileEsc($strHint) . '

'; - echo '
'; + echo '
'; + echo '

' . fxInscrMobileEsc($strTitle) . '

'; + echo '
'; foreach ($tabEveIds as $intEveId) { - $qry = 'SELECT e.*, t.te_icone FROM inscriptions_evenements e, inscriptions_types_evenements t' - . ' WHERE t.te_id = e.te_id AND e.eve_actif = 1 AND e.eve_id = ' . intval($intEveId); + $qry = 'SELECT e.* FROM inscriptions_evenements e WHERE e.eve_actif = 1 AND e.eve_id = ' . intval($intEveId); $tabEv = $objDatabase->fxGetRow($qry); if ($tabEv === null) { continue; } - $strUrl = $strBaseUrl . '?promoteur_eve_id=' . urlencode(base64_encode($intEveId)); - if (!empty($_GET['lng'])) { - $strUrl .= '&lng=' . fxInscrMobileEsc($_GET['lng']); - } - - echo ''; - echo '
'; - echo '
' . fxInscrMobileEsc(fxUnescape($tabEv['eve_nom_' . $strLangue])) . '
'; - if (trim($tabEv['eve_date_debut']) !== '' && $tabEv['eve_date_debut'] !== '0000-00-00') { - echo '
' . fxInscrMobileEsc(fxShowDate($tabEv['eve_date_debut'], $strLangue)) . '
'; - } - echo '
'; - echo '
'; + $strUrl = fxInscrMobileBuildUrl($strBaseUrl, $intEveId, fxInscrMobileParseRequest(), array()); + echo '
'; + echo '' . fxInscrMobileEsc(fxUnescape($tabEv['eve_nom_' . $strLangue])) . ''; + echo ''; echo ''; } - echo '
'; + echo '
'; } function fxInscrMobileRenderList($intEveId, $strLangue, $strBaseUrl, $arrReq) { @@ -263,48 +289,40 @@ function fxInscrMobileRenderList($intEveId, $strLangue, $strBaseUrl, $arrReq) { $arrEvenement = fxGetEvenementsId($intEveId); $strEveNom = fxUnescape($arrEvenement['eve_nom_' . $strLangue]); $intFilterCount = fxInscrMobileFilterActiveCount($arrReq); - $strQs = fxInscrMobileQueryString($arrReq, $intEveId); $strBackUrl = fxInscrMobileIsEntry() ? $strBaseUrl : ($vDomaine . ($strLangue === 'fr' ? '/compte/inc_tableau_promoteur' : '/account/inc_tableau_promoteur') - . '?promoteur_eve_id=' . urlencode(base64_encode($intEveId))); + . '?promoteur_eve_id=' . rawurlencode(base64_encode((string)$intEveId))); - echo ''; - echo ''; - afficheTexte('promoteur_back'); - echo ''; + echo '
'; - echo '
'; - echo '

' . afficheTexte('inscr_mobile_title', 0) . '

'; - echo '
'; - echo '

' . fxInscrMobileEsc($strEveNom) . '

'; + echo '
'; + echo ''; + echo '
'; + echo '

' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_title')) . '

'; + echo '
' . fxInscrMobileEsc($strEveNom) . '
'; + echo '
'; - echo '
'; + // Recherche (repliable — fermée par défaut pour montrer la liste d'abord) + echo '
'; + echo '' . fxInscrMobileEsc(fxInscrMobileT('txt_recherche')) . ''; + echo '
'; + echo '
'; + echo ''; - // —— Recherche —— - echo '
'; - echo '
'; - echo '
'; - echo '
' . afficheTexte('txt_recherche', 0) . '
'; - echo '
'; - echo '
'; - echo ''; - echo ''; - - echo '
'; - echo '
'; - - echo '
'; - echo '
'; - - echo '
'; - echo '
'; - - echo '
'; - echo '
'; + $arrFields = array( + 'rech_prenom' => 'rech_prenom', + 'rech_nom' => 'rech_nom', + 'rech_no_commande' => 'rech_no_commande', + 'rech_nom_equipe' => 'rech_equipe', + ); + foreach ($arrFields as $strKey => $strLbl) { + echo ''; + echo ''; + } if ($arrReq['sel_rech_epreuve'] > 0) { - echo ''; + echo ''; } if ($arrReq['chk_bib']) { echo ''; @@ -313,132 +331,124 @@ function fxInscrMobileRenderList($intEveId, $strLangue, $strBaseUrl, $arrReq) { echo ''; } - echo ''; - echo ''; - echo '
'; + echo ''; + echo '
'; - // —— Filtres —— - $sqlEpreuves = 'SELECT * FROM inscriptions_epreuves e WHERE e.eve_id = ' . intval($intEveId) . ' AND epr_actif = 1 ORDER BY epr_id'; + // Filtres global $objDatabase; - $tabEpreuves = $objDatabase->fxGetResults($sqlEpreuves); + $tabEpreuves = $objDatabase->fxGetResults( + 'SELECT * FROM inscriptions_epreuves e WHERE e.eve_id = ' . intval($intEveId) . ' AND epr_actif = 1 ORDER BY epr_id' + ); - $strFilterBadge = ''; + $strFilterLabel = fxInscrMobileT('inscr_mobile_filters'); if ($intFilterCount > 0) { - $strFilterBadge = '' . (int)$intFilterCount . ''; + $strFilterLabel .= ' (' . $intFilterCount . ')'; } - echo '
'; - echo '
'; + // Liste complète dès l'ouverture + $tabRows = fxInscrMobileFetchRows($intEveId, $arrReq); + $intNbItemsParPage = 50; + $intNbTotal = ($tabRows !== null) ? count($tabRows) : 0; + $intPage = 1; + $intStart = 1; + $intEnd = $intNbItemsParPage; + if (!empty($_GET['pg'])) { + $intPage = max(1, intval($_GET['pg'])); + } + if (intval($intPage) > 1) { + $intStart = ($intPage - 1) * $intNbItemsParPage + 1; + $intEnd = $intStart + $intNbItemsParPage - 1; + } + if ($intEnd > $intNbTotal) { + $intEnd = $intNbTotal; + } - // —— Résultats —— - if (fxInscrMobileShouldShowResults($arrReq)) { - $tabRows = fxInscrMobileFetchRows($intEveId, $arrReq); - $intNbItemsParPage = 100; - $intPage = $arrReq['pg']; - $intNbTotal = ($tabRows !== null) ? count($tabRows) : 0; - $intStart = ($intPage > 1) ? (($intPage - 1) * $intNbItemsParPage + 1) : 1; - $intEnd = min($intStart + $intNbItemsParPage - 1, $intNbTotal); + echo '
'; + echo '
'; + if ($strLangue === 'fr') { + echo '' . (int)$intNbTotal . ' inscription' . ($intNbTotal > 1 ? 's' : '') . ''; + } else { + echo '' . (int)$intNbTotal . ' registration' . ($intNbTotal !== 1 ? 's' : '') . ''; + } + if ($intNbTotal > $intNbItemsParPage) { + $intNbPages = (int)ceil($intNbTotal / $intNbItemsParPage); + echo '' . ($strLangue === 'fr' ? 'Page ' : 'Page ') . $intPage . ' / ' . $intNbPages . ''; + } + echo '
'; - if ($intNbTotal > 0) { - $intShown = $intEnd - $intStart + 1; - $intNbPages = (int)ceil($intNbTotal / $intNbItemsParPage); - echo '

'; - if ($strLangue === 'fr') { - echo fxInscrMobileEsc($intShown . ' de ' . $intNbTotal . ' — page ' . $intPage . ' / ' . $intNbPages); - } else { - echo fxInscrMobileEsc($intShown . ' of ' . $intNbTotal . ' — page ' . $intPage . ' / ' . $intNbPages); - } - echo '

'; + if ($intNbTotal > 0) { + echo '
'; + for ($j = $intStart; $j <= $intEnd; $j++) { + $row = $tabRows[$j]; + $strFicheUrl = fxInscrMobileBuildUrl($strBaseUrl, $intEveId, $arrReq, array( + 'pec_id' => (int)$row['pec_id_original'], + 'pg' => $intPage, + )); - for ($j = $intStart; $j <= $intEnd; $j++) { - $row = $tabRows[$j]; - $strFicheUrl = $strBaseUrl . '?' . fxInscrMobileQueryString($arrReq, $intEveId, array( - 'pec_id' => $row['pec_id_original'], - 'pg' => $intPage, - )); - - $strBib = fxInscrMobileBibDisplay($row); - $strName = fxUnescape($row['par_nom']) . ', ' . fxUnescape($row['par_prenom']); - $strRace = fxInscrMobileEpreuveLabel($row['epr_id'], $strLangue); - $strCardClass = 'epr-row inscr-mobile-result-card'; - if ($row['is_cancelled'] == '1') { - $strCardClass .= ' inscr-mobile-result-card--cancelled'; - } - - echo '
'; - echo '
'; - echo '
'; - echo '' . fxInscrMobileEsc($strName) . ''; - echo ''; - if (trim($strBib) !== '') { - echo '' . afficheTexte('promoteur_bib_no_participants', 0) . ' ' . fxInscrMobileEsc($strBib) . ''; - } - if ($row['no_bib_remis'] == 1) { - echo '' . afficheTexte('promoteur_bib_enregistre', 0) . ''; - } - if ($row['is_cancelled'] == '1') { - echo '' . afficheTexte('btn_annulerinscriptions', 0) . ''; - } - echo '
'; - echo '
'; - echo '
' . fxInscrMobileEsc($strRace) . '
'; - echo '
' . fxInscrMobileEsc($row['no_commande']) . '
'; - echo ''; - echo afficheTexte('inscr_mobile_view_record', 0); - echo ''; - echo '
'; + $strBib = fxInscrMobileBibDisplay($row); + $strName = fxUnescape($row['par_nom']) . ', ' . fxUnescape($row['par_prenom']); + $strRace = fxInscrMobileEpreuveLabel($row['epr_id'], $strLangue); + $strCardClass = 'inscr-mobile-list-item'; + if ($row['is_cancelled'] == '1') { + $strCardClass .= ' inscr-mobile-list-item--cancelled'; } - if ($intNbPages > 1) { - $strPagQs = fxInscrMobileQueryString($arrReq, $intEveId); - echo fxGetPagination($strBaseUrl . '?' . $strPagQs, $intNbTotal, $intNbItemsParPage, $intPage); + echo ''; + echo '
'; + echo '
' . fxInscrMobileEsc($strName) . '
'; + echo '
' . fxInscrMobileEsc($strRace) . '
'; + echo '
'; + echo '' . fxInscrMobileEsc($row['no_commande']) . ''; + if (trim($strBib) !== '') { + echo '#' . fxInscrMobileEsc($strBib) . ''; } - } else { - echo ''; + if ($row['no_bib_remis'] == 1) { + echo '' . fxInscrMobileEsc(fxInscrMobileT('promoteur_bib_enregistre')) . ''; + } + echo '
'; + echo ''; + echo '
'; } + echo '
'; + + echo fxInscrMobileRenderPagination($strBaseUrl, $intEveId, $arrReq, $intNbTotal, $intNbItemsParPage, $intPage); + } else { + echo '
' . fxInscrMobileEsc(fxInscrMobileT('txt_recherche_no_result')) . '
'; } echo '
'; @@ -447,7 +457,7 @@ function fxInscrMobileRenderList($intEveId, $strLangue, $strBaseUrl, $arrReq) { function fxInscrMobileRenderFiche($intEveId, $strLangue, $strBaseUrl, $arrReq, $arrRow) { global $vDomaine; - $strListUrl = $strBaseUrl . '?' . fxInscrMobileQueryString($arrReq, $intEveId, array('pg' => $arrReq['pg'])); + $strListUrl = fxInscrMobileBuildUrl($strBaseUrl, $intEveId, $arrReq, array('pec_id' => null, 'pg' => $arrReq['pg'])); $strEveCode = fxGetEvenementsUrl($arrRow['eve_id']); $strBib = fxInscrMobileBibDisplay($arrRow); $intParId = $arrRow['par_id']; @@ -466,72 +476,50 @@ function fxInscrMobileRenderFiche($intEveId, $strLangue, $strBaseUrl, $arrReq, $ $intRemisVal = 1; } - echo ''; - echo ''; - echo afficheTexte('inscr_mobile_back_list', 0); - echo ''; + echo '
'; - echo '
'; - echo '

' . fxInscrMobileEsc(fxUnescape($arrRow['par_nom']) . ', ' . fxUnescape($arrRow['par_prenom'])) . '

'; - echo '
'; + echo '
'; + echo ''; + echo '
'; + echo '

' . fxInscrMobileEsc(fxUnescape($arrRow['par_nom']) . ', ' . fxUnescape($arrRow['par_prenom'])) . '

'; + echo '
' . fxInscrMobileEsc(fxInscrMobileEpreuveLabel($arrRow['epr_id'], $strLangue)) . '
'; + echo '
'; - echo '
'; + echo '
'; + echo '

' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_section_info')) . '

'; + echo '
'; + echo '
' . fxInscrMobileEsc(fxInscrMobileT('rech_no_commande')) . '
'; + echo '' . fxInscrMobileEsc($arrRow['no_commande']) . '
'; + echo '
' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_details')) . '
'; + echo fxInscrMobileEsc($blnEquipe && fxIsParEquipe($arrRow['pec_id_original'], $arrRow['epr_id']) + ? fxInscrMobileT('promoteur_bib_show_teamates') : fxInscrMobileT('epreuve_individuelle')); + echo '
'; + echo '
' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_modified')) . '
' . fxCheckMAJ($arrRow['pec_id_original'], $intParId, $strLangue) . '
'; + echo '
'; - // Informations - echo '
'; - echo '
'; - echo '' . afficheTexte('inscr_mobile_section_info', 0) . ''; - echo '
' . fxInscrMobileCollapseToggle($strLangue, false) . '
'; - echo '
'; - echo '
' . afficheTexte('sel_rech_epreuve', 0) . '
' . fxInscrMobileEsc(fxInscrMobileEpreuveLabel($arrRow['epr_id'], $strLangue)) . '
'; - echo '
' . afficheTexte('inscr_mobile_details', 0) . '
'; - if ($blnEquipe && fxIsParEquipe($arrRow['pec_id_original'], $arrRow['epr_id'])) { - afficheTexte('promoteur_bib_show_teamates', 0); - } else { - afficheTexte('epreuve_individuelle', 0); - } - echo '
'; - echo '
' . afficheTexte('rech_no_commande', 0) . '
'; - echo ''; - echo fxInscrMobileEsc($arrRow['no_commande']) . '
'; - echo '
' . afficheTexte('inscr_mobile_modified', 0) . '
' . fxCheckMAJ($arrRow['pec_id_original'], $intParId, $strLangue) . '
'; - echo '
'; - - // Dossard - echo '
'; - echo '
'; - echo '' . afficheTexte('promoteur_bib_number', 0) . ''; - echo '
' . fxInscrMobileCollapseToggle($strLangue, false) . '
'; - echo '
'; - echo ''; + echo '
'; + echo '

' . fxInscrMobileEsc(fxInscrMobileT('promoteur_bib_number')) . '

'; echo '
'; echo ''; echo ''; - echo '
'; + echo '
'; - // Check-in - echo '
'; - echo '
'; - echo '' . afficheTexte('promoteur_bib_enregistre', 0) . ''; - echo '
' . fxInscrMobileCollapseToggle($strLangue, false) . '
'; - echo '
'; + echo '
'; + echo '

' . fxInscrMobileEsc(fxInscrMobileT('promoteur_bib_enregistre')) . '

'; echo ''; echo '' . $strRemisIcon . ''; echo ''; - echo '
' . fxInscrMobileEsc($arrRow['no_bib_remis_date']) . '
'; - echo '
' . fxInscrMobileEsc($arrRow['no_bib_remis_par']) . '
'; - echo '
'; + echo '
' . fxInscrMobileEsc($arrRow['no_bib_remis_date']) . '
'; + echo '
' . fxInscrMobileEsc($arrRow['no_bib_remis_par']) . '
'; + echo '
'; - // Actions $strStyleEdit = $strStyleCancel = ''; $strStyleRetablir = ' d-none'; if ($blnCancelled) { @@ -539,34 +527,32 @@ function fxInscrMobileRenderFiche($intEveId, $strLangue, $strBaseUrl, $arrReq, $ $strStyleRetablir = ''; } - echo '
'; - echo '
'; - echo '' . afficheTexte('inscr_mobile_section_actions', 0) . ''; - echo '
' . fxInscrMobileCollapseToggle($strLangue, false) . '
'; - echo '
'; + echo '
'; + echo '

' . fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_section_actions')) . '

'; + echo '
'; echo ''; + . ' value="' . (int)$arrRow['pec_id_original'] . '">' . fxInscrMobileEsc(fxInscrMobileT('btn_modifierinscriptions')) . ''; echo ''; + . ' value="' . (int)$arrRow['pec_id_original'] . '">' . fxInscrMobileEsc(fxInscrMobileT('btn_annulerinscriptions')) . ''; echo ''; + . ' value="' . (int)$arrRow['pec_id_original'] . '">' . fxInscrMobileEsc(fxInscrMobileT('btn_retablirinscriptions')) . ''; $strRenvoi = ($strLangue === 'fr') ? 'RENVOI' : 'RESEND'; - echo ''; - echo '
'; + echo '
'; echo '
'; } @@ -577,9 +563,9 @@ function fxInscrMobileRun($intEveId, $strLangue) { if ($arrReq['pec_id'] > 0) { $arrRow = fxInscrMobileFetchRowByPec($arrReq['pec_id'], $intEveId); if ($arrRow === null) { - echo '
' . afficheTexte('txt_recherche_no_result', 0) . '
'; - echo ''; - echo afficheTexte('inscr_mobile_back_list', 0) . ''; + echo '
' . fxInscrMobileEsc(fxInscrMobileT('txt_recherche_no_result')) . '
'; + echo ''; + echo fxInscrMobileEsc(fxInscrMobileT('inscr_mobile_back_list')) . ''; return; } fxInscrMobileRenderFiche($intEveId, $strLangue, $strBaseUrl, $arrReq, $arrRow); diff --git a/php/inc_settings.php b/php/inc_settings.php index 21b2bb0..5aae130 100644 --- a/php/inc_settings.php +++ b/php/inc_settings.php @@ -7,7 +7,7 @@ * Constantes * * **************/ -define('_VERSION_CODE', '4.72.670'); +define('_VERSION_CODE', '4.72.671'); define('_DATE_CODE', '2026-06-18'); //MSIN-4290 define('QR_SECRET_KEY', 'ms1_qr_2026_cle_secrete_longue_et_fixe');