Refactor event management system to transition from mobile to gestion
This commit updates the event management system by replacing references to mobile inscriptions with gestion inscriptions. It includes changes to AJAX endpoints, helper functions, and UI elements to reflect this transition. The updates enhance the overall structure and maintainability of the codebase while ensuring that user access and permissions are properly managed for the new gestion interface.
This commit is contained in:
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* Actions AJAX reservees a la fiche inscriptions mobile (v2).
|
||||
* Actions AJAX reservees a la fiche de gestion des inscriptions (v2).
|
||||
* N'altere pas ajax_promoteur.php ni enregistrer.php (legacy promoteur).
|
||||
*/
|
||||
session_start();
|
||||
|
||||
require_once 'php/inc_fonctions.php';
|
||||
require_once 'php/inc_fx_promoteur.php';
|
||||
require_once 'php/inc_fx_inscriptions_mobile.php';
|
||||
require_once 'php/inc_fx_inscriptions_gestion.php';
|
||||
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
@ -31,7 +31,7 @@ switch ($strAction) {
|
||||
$strStatut = trim((string)($_REQUEST['par_statut_course'] ?? ''));
|
||||
$intEveId = fxEveAccesResolveEveIdFromParId($intParId);
|
||||
|
||||
if ($intEveId <= 0 || !fxInscrMobileCanDo($intComId, $intEveId, 'inscriptions_gestion.statut_edit')) {
|
||||
if ($intEveId <= 0 || !fxInscrGestionCanDo($intComId, $intEveId, 'inscriptions_gestion.statut_edit')) {
|
||||
$tabRetour = array('state' => 'error', 'message' => 'unauthorized');
|
||||
break;
|
||||
}
|
||||
@ -59,7 +59,7 @@ switch ($strAction) {
|
||||
|
||||
// L'eve_id fait foi cote serveur (jamais le client) pour le controle d'acces a l'evenement.
|
||||
$intEveId = intval($recCommandes['eve_id']);
|
||||
if ($intEveId <= 0 || !fxInscrMobileCanDo($intComId, $intEveId, 'inscriptions_gestion.refund')) {
|
||||
if ($intEveId <= 0 || !fxInscrGestionCanDo($intComId, $intEveId, 'inscriptions_gestion.refund')) {
|
||||
$tabRetour = array('state' => 'error', 'message' => 'unauthorized');
|
||||
break;
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
session_start();
|
||||
|
||||
require_once 'php/inc_fonctions.php';
|
||||
require_once 'php/inc_fx_inscriptions_mobile.php';
|
||||
require_once 'php/inc_fx_inscriptions_gestion.php';
|
||||
|
||||
global $vDomaine;
|
||||
|
||||
@ -18,17 +18,17 @@ $vtexte_page = obtenirTextepage($vPage, $strLangue, 2);
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
if (!isset($_SESSION['com_id'])) {
|
||||
echo json_encode(array('state' => 'error', 'message' => fxInscrMobileT('inscr_mobile_qr_invalid')));
|
||||
echo json_encode(array('state' => 'error', 'message' => fxInscrGestionT('inscr_gestion_qr_invalid')));
|
||||
exit;
|
||||
}
|
||||
|
||||
$intEveId = 0;
|
||||
if (!empty($_REQUEST['promoteur_eve_id'])) {
|
||||
$intEveId = fxInscrMobileParseEveId($_REQUEST['promoteur_eve_id']);
|
||||
$intEveId = fxInscrGestionParseEveId($_REQUEST['promoteur_eve_id']);
|
||||
}
|
||||
|
||||
if ($intEveId <= 0 || !fxInscrMobileCanScan($_SESSION['com_id'], $intEveId)) {
|
||||
echo json_encode(array('state' => 'error', 'message' => fxInscrMobileT('inscr_mobile_qr_invalid')));
|
||||
if ($intEveId <= 0 || !fxInscrGestionCanScan($_SESSION['com_id'], $intEveId)) {
|
||||
echo json_encode(array('state' => 'error', 'message' => fxInscrGestionT('inscr_gestion_qr_invalid')));
|
||||
exit;
|
||||
}
|
||||
|
||||
@ -39,4 +39,4 @@ if (!empty($_REQUEST['qr'])) {
|
||||
$strRaw = $_REQUEST['t'];
|
||||
}
|
||||
|
||||
echo json_encode(fxInscrMobileResolveQrScan($strRaw, $intEveId, $strLangue));
|
||||
echo json_encode(fxInscrGestionResolveQrScan($strRaw, $intEveId, $strLangue));
|
||||
|
||||
23
compte.php
23
compte.php
@ -21,7 +21,7 @@ require_once('php/inc_logs_course.php');
|
||||
require_once('superadm/php/inc_fx_excell.php');
|
||||
|
||||
require_once('php/inc_fx_liste_attente.php');
|
||||
require_once('php/inc_fx_inscriptions_mobile.php');
|
||||
require_once('php/inc_fx_inscriptions_gestion.php');
|
||||
require_once('php/inc_fx_eve_acces.php');
|
||||
require_once('php/inc_fx_promoteur_hub.php');
|
||||
global $objDatabase, $vPage, $vDomaine;
|
||||
@ -70,6 +70,17 @@ if ($strCode === 'compte_promoteur_hub' && (!isset($_SESSION['com_id']) || !fxPr
|
||||
exit;
|
||||
}
|
||||
|
||||
// Ancien slug renomme (retrait du nom "mobile") : redirection 301 vers le nouveau slug "gestion".
|
||||
// Conserve les parametres utiles (promoteur_eve_id, pec_id, lng...) pour ne pas casser favoris/QR.
|
||||
if (($_GET['code'] ?? '') === 'inc_tableau_inscriptions_mobile') {
|
||||
$strNewPath = ($strLangue === 'en') ? '/account/inc_tableau_inscriptions_gestion' : '/compte/inc_tableau_inscriptions_gestion';
|
||||
parse_str($_SERVER['QUERY_STRING'] ?? '', $arrOldQs);
|
||||
unset($arrOldQs['code'], $arrOldQs['lang']);
|
||||
$strQsClean = http_build_query($arrOldQs);
|
||||
header('Location: ' . $vDomaine . $strNewPath . ($strQsClean !== '' ? '?' . $strQsClean : ''), true, 301);
|
||||
exit;
|
||||
}
|
||||
|
||||
$recPage = fxGetPage($strCode);
|
||||
|
||||
if (count($recPage) < 1) {
|
||||
@ -322,8 +333,8 @@ if (isset($_GET['promoteur_eve_id'])) {
|
||||
|
||||
$intEveId = base64_decode(urldecode($_GET['promoteur_eve_id']));
|
||||
$intEveIdbase = $intEveId;
|
||||
if ($strCode === 'compte_inc_tableau_inscriptions_mobile') {
|
||||
if (!fxInscrMobileCanAccess($_SESSION['com_id'], $intEveIdbase)) {
|
||||
if ($strCode === 'compte_inc_tableau_inscriptions_gestion') {
|
||||
if (!fxInscrGestionCanAccess($_SESSION['com_id'], $intEveIdbase)) {
|
||||
header('Location: ' . $vDomaine . '/' . $strPage);
|
||||
exit;
|
||||
}
|
||||
@ -721,12 +732,12 @@ require_once("inc_header.php");
|
||||
$footer_script = true;
|
||||
include("inc_tableau_inscriptions.php");
|
||||
break;
|
||||
case 'compte_inc_tableau_inscriptions_mobile':
|
||||
case 'compte_inc_tableau_inscriptions_gestion':
|
||||
$blnBoutonRetour = false;
|
||||
$footer_script = true;
|
||||
$blnHideCompteTitle = true;
|
||||
fxInscrMobileInitTextes($strLangue);
|
||||
include("inc_tableau_inscriptions_mobile.php");
|
||||
fxInscrGestionInitTextes($strLangue);
|
||||
include("inc_tableau_inscriptions_gestion.php");
|
||||
break;
|
||||
case 'compte_inc_tableau_mail_entraineurs':
|
||||
$blnBoutonRetour = false;
|
||||
|
||||
262
css/style.css
262
css/style.css
@ -2367,50 +2367,50 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
}
|
||||
|
||||
/* Inscriptions mobile — style compte promoteur (desktop + mobile) */
|
||||
.inscr-mobile-page{
|
||||
.inscr-gestion-page{
|
||||
max-width:1100px;
|
||||
margin:0 auto;
|
||||
padding-left:12px !important;
|
||||
padding-right:12px !important;
|
||||
}
|
||||
|
||||
.inscr-mobile-entry-body .inscr-mobile-entry-header .ms1-header-bottom{
|
||||
.inscr-gestion-entry-body .inscr-gestion-entry-header .ms1-header-bottom{
|
||||
border-bottom:1px solid #dee2e6;
|
||||
}
|
||||
|
||||
.inscr-mobile-login-wrap{
|
||||
.inscr-gestion-login-wrap{
|
||||
max-width:420px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.inscr-mobile-login-intro{
|
||||
.inscr-gestion-login-intro{
|
||||
font-size:14px;
|
||||
margin-bottom:14px;
|
||||
}
|
||||
|
||||
.inscr-mobile-login-form .inscr-mobile-label:first-child{
|
||||
.inscr-gestion-login-form .inscr-gestion-label:first-child{
|
||||
margin-top:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-entry-footer .ms1-footer-bottom{
|
||||
.inscr-gestion-entry-footer .ms1-footer-bottom{
|
||||
border-top:1px solid #dee2e6;
|
||||
}
|
||||
|
||||
.inscr-mobile-shell{
|
||||
.inscr-gestion-shell{
|
||||
font-size:14px;
|
||||
line-height:1.45;
|
||||
}
|
||||
|
||||
.inscr-mobile-nav-back{
|
||||
.inscr-gestion-nav-back{
|
||||
margin-bottom:12px;
|
||||
}
|
||||
|
||||
.inscr-mobile-page-head,
|
||||
.inscr-mobile-fiche-head{
|
||||
.inscr-gestion-page-head,
|
||||
.inscr-gestion-fiche-head{
|
||||
margin-bottom:14px;
|
||||
}
|
||||
|
||||
.inscr-mobile-page-title{
|
||||
.inscr-gestion-page-title{
|
||||
margin:0;
|
||||
font-size:1.5rem;
|
||||
font-weight:700;
|
||||
@ -2418,12 +2418,12 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
color:#212529;
|
||||
}
|
||||
|
||||
.inscr-mobile-page-sub{
|
||||
.inscr-gestion-page-sub{
|
||||
margin-top:6px;
|
||||
font-size:14px;
|
||||
}
|
||||
|
||||
.inscr-mobile-panel{
|
||||
.inscr-gestion-panel{
|
||||
border:1px solid #ced4da;
|
||||
border-radius:4px;
|
||||
margin-bottom:10px;
|
||||
@ -2431,7 +2431,7 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.inscr-mobile-panel__head{
|
||||
.inscr-gestion-panel__head{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
gap:8px;
|
||||
@ -2444,50 +2444,50 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
color:#212529;
|
||||
}
|
||||
|
||||
.inscr-mobile-panel__icon{
|
||||
.inscr-gestion-panel__icon{
|
||||
color:#007bff;
|
||||
width:1.15em;
|
||||
text-align:center;
|
||||
flex-shrink:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-panel__head::-webkit-details-marker{
|
||||
.inscr-gestion-panel__head::-webkit-details-marker{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-panel__body{
|
||||
.inscr-gestion-panel__body{
|
||||
padding:12px;
|
||||
border-top:1px solid #eee;
|
||||
}
|
||||
|
||||
.inscr-mobile-panel--qr .inscr-mobile-panel__icon{
|
||||
.inscr-gestion-panel--qr .inscr-gestion-panel__icon{
|
||||
color:#6f42c1;
|
||||
}
|
||||
|
||||
.inscr-mobile-qr-hint{
|
||||
.inscr-gestion-qr-hint{
|
||||
margin:0 0 8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-qr-reader-wrap{
|
||||
.inscr-gestion-qr-reader-wrap{
|
||||
max-width:100%;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.inscr-mobile-qr-reader-wrap #inscr-mobile-qr-reader{
|
||||
.inscr-gestion-qr-reader-wrap #inscr-gestion-qr-reader{
|
||||
width:100%;
|
||||
}
|
||||
|
||||
.inscr-mobile-qr-reader-wrap video{
|
||||
.inscr-gestion-qr-reader-wrap video{
|
||||
border-radius:4px;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-toggle.is-active{
|
||||
.inscr-gestion-bib-scan-toggle.is-active{
|
||||
background:#6f42c1;
|
||||
border-color:#6f42c1;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-capture{
|
||||
.inscr-gestion-bib-scan-capture{
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
border-radius:4px;
|
||||
@ -2497,20 +2497,20 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
outline:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-capture.is-ready{
|
||||
.inscr-gestion-bib-scan-capture.is-ready{
|
||||
box-shadow:0 0 0 2px rgba(111,66,193,.35);
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-capture[aria-disabled="true"]{
|
||||
.inscr-gestion-bib-scan-capture[aria-disabled="true"]{
|
||||
cursor:wait;
|
||||
pointer-events:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-video{
|
||||
.inscr-gestion-bib-scan-video{
|
||||
max-height:160px;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-video video{
|
||||
.inscr-gestion-bib-scan-video video{
|
||||
display:block;
|
||||
width:100%;
|
||||
max-height:160px;
|
||||
@ -2518,7 +2518,7 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
pointer-events:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-capture-label{
|
||||
.inscr-gestion-bib-scan-capture-label{
|
||||
position:absolute;
|
||||
left:50%;
|
||||
bottom:8px;
|
||||
@ -2533,16 +2533,16 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
pointer-events:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-panel{
|
||||
.inscr-gestion-bib-scan-panel{
|
||||
margin-bottom:10px;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-status{
|
||||
.inscr-gestion-bib-scan-status{
|
||||
color:#6f42c1;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-scan-status.is-active::before{
|
||||
.inscr-gestion-bib-scan-status.is-active::before{
|
||||
content:'';
|
||||
display:inline-block;
|
||||
width:7px;
|
||||
@ -2550,20 +2550,20 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
margin-right:5px;
|
||||
border-radius:50%;
|
||||
background:#6f42c1;
|
||||
animation:inscr-mobile-qr-pulse 1.2s ease-in-out infinite;
|
||||
animation:inscr-gestion-qr-pulse 1.2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-row input.inscr-mobile-bib--proposed{
|
||||
.inscr-gestion-bib-row input.inscr-gestion-bib--proposed{
|
||||
border-color:#6f42c1;
|
||||
box-shadow:0 0 0 2px rgba(111,66,193,.2);
|
||||
}
|
||||
|
||||
@keyframes inscr-mobile-qr-pulse{
|
||||
@keyframes inscr-gestion-qr-pulse{
|
||||
0%,100%{ opacity:1; transform:scale(1); }
|
||||
50%{ opacity:.4; transform:scale(.85); }
|
||||
}
|
||||
|
||||
.inscr-mobile-label{
|
||||
.inscr-gestion-label{
|
||||
display:block;
|
||||
font-size:12px;
|
||||
font-weight:600;
|
||||
@ -2571,11 +2571,11 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
color:#495057;
|
||||
}
|
||||
|
||||
.inscr-mobile-label:first-child{
|
||||
.inscr-gestion-label:first-child{
|
||||
margin-top:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-check{
|
||||
.inscr-gestion-check{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
gap:8px;
|
||||
@ -2583,16 +2583,16 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
margin:8px 0 0;
|
||||
}
|
||||
|
||||
.inscr-mobile-form-actions{
|
||||
.inscr-gestion-form-actions{
|
||||
display:flex;
|
||||
gap:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-form-actions .btn{
|
||||
.inscr-gestion-form-actions .btn{
|
||||
flex:1;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-head{
|
||||
.inscr-gestion-list-head{
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
align-items:center;
|
||||
@ -2602,14 +2602,14 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
padding:0 2px;
|
||||
}
|
||||
|
||||
.inscr-mobile-list{
|
||||
.inscr-gestion-list{
|
||||
border:1px solid #ced4da;
|
||||
border-radius:4px;
|
||||
background:#fff;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item{
|
||||
.inscr-gestion-list-item{
|
||||
display:grid;
|
||||
grid-template-columns:minmax(120px,1.4fr) minmax(100px,1.2fr) minmax(80px,.8fr) 56px minmax(72px,.9fr) 20px;
|
||||
gap:8px 12px;
|
||||
@ -2621,65 +2621,65 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item:last-child{
|
||||
.inscr-gestion-list-item:last-child{
|
||||
border-bottom:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item:hover,
|
||||
.inscr-mobile-list-item:focus{
|
||||
.inscr-gestion-list-item:hover,
|
||||
.inscr-gestion-list-item:focus{
|
||||
color:inherit;
|
||||
text-decoration:none;
|
||||
background:#f8f9fa;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item--cancelled{
|
||||
.inscr-gestion-list-item--cancelled{
|
||||
background:#fff5f5;
|
||||
border-color:#f1b0b7;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__main{
|
||||
.inscr-gestion-list-item__main{
|
||||
display:contents;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__name{
|
||||
.inscr-gestion-list-item__name{
|
||||
font-weight:700;
|
||||
font-size:14px;
|
||||
color:#212529;
|
||||
min-width:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__race{
|
||||
.inscr-gestion-list-item__race{
|
||||
font-size:13px;
|
||||
color:#495057;
|
||||
min-width:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__order{
|
||||
.inscr-gestion-list-item__order{
|
||||
font-size:12px;
|
||||
color:#6c757d;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__meta{
|
||||
.inscr-gestion-list-item__meta{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__bib{
|
||||
.inscr-gestion-list-item__bib{
|
||||
font-weight:600;
|
||||
font-size:13px;
|
||||
color:#007bff;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__check{
|
||||
.inscr-gestion-list-item__check{
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__arrow{
|
||||
.inscr-gestion-list-item__arrow{
|
||||
color:#adb5bd;
|
||||
flex-shrink:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-badge{
|
||||
.inscr-gestion-badge{
|
||||
display:inline-block;
|
||||
padding:1px 6px;
|
||||
border-radius:999px;
|
||||
@ -2687,32 +2687,32 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.inscr-mobile-badge--ok{
|
||||
.inscr-gestion-badge--ok{
|
||||
background:#d4edda;
|
||||
color:#155724;
|
||||
}
|
||||
|
||||
.inscr-mobile-pager{
|
||||
.inscr-gestion-pager{
|
||||
margin:14px 0 4px;
|
||||
}
|
||||
|
||||
.inscr-mobile-pager .page-link{
|
||||
.inscr-gestion-pager .page-link{
|
||||
padding:6px 10px;
|
||||
}
|
||||
|
||||
.inscr-mobile-empty{
|
||||
.inscr-gestion-empty{
|
||||
margin-top:8px;
|
||||
text-align:center;
|
||||
color:#6c757d;
|
||||
}
|
||||
|
||||
.inscr-mobile-event-list{
|
||||
.inscr-gestion-event-list{
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
gap:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-event-item{
|
||||
.inscr-gestion-event-item{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:space-between;
|
||||
@ -2724,37 +2724,37 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-event-item:hover{
|
||||
.inscr-gestion-event-item:hover{
|
||||
background:#f8f9fa;
|
||||
color:inherit;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-event-item__name{
|
||||
.inscr-gestion-event-item__name{
|
||||
font-weight:600;
|
||||
font-size:15px;
|
||||
}
|
||||
|
||||
.inscr-mobile-gestion-actions{
|
||||
.inscr-gestion-gestion-actions{
|
||||
display:flex;
|
||||
flex-wrap:wrap;
|
||||
gap:8px;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-gestion-actions .btn{
|
||||
.inscr-gestion-gestion-actions .btn{
|
||||
margin:0;
|
||||
}
|
||||
|
||||
/* Libelle d'invite devant le bouton facture (numero de commande). */
|
||||
.inscr-mobile-facture-label{
|
||||
.inscr-gestion-facture-label{
|
||||
align-self:center;
|
||||
font-size:0.85rem;
|
||||
color:#6c757d;
|
||||
margin-right:2px;
|
||||
}
|
||||
|
||||
.inscr-mobile-remis-row{
|
||||
.inscr-gestion-remis-row{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:space-between;
|
||||
@ -2762,14 +2762,14 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
flex-wrap:wrap;
|
||||
}
|
||||
|
||||
.inscr-mobile-remis-row__left{
|
||||
.inscr-gestion-remis-row__left{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
gap:10px;
|
||||
flex-wrap:wrap;
|
||||
}
|
||||
|
||||
.inscr-mobile-remis-row__meta{
|
||||
.inscr-gestion-remis-row__meta{
|
||||
margin-left:auto;
|
||||
text-align:right;
|
||||
font-size:12px;
|
||||
@ -2777,56 +2777,56 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
flex:1 1 160px;
|
||||
}
|
||||
|
||||
.inscr-mobile-field-block__label--inline{
|
||||
.inscr-gestion-field-block__label--inline{
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--editable{
|
||||
.inscr-gestion-fiche-section--editable{
|
||||
padding:0;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__body{
|
||||
.inscr-gestion-fiche-section__body{
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__body > .inscr-mobile-kv-list{
|
||||
.inscr-gestion-fiche-section__body > .inscr-gestion-kv-list{
|
||||
padding:4px 12px 8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__body > .inscr-mobile-gestion-actions{
|
||||
.inscr-gestion-fiche-section__body > .inscr-gestion-gestion-actions{
|
||||
padding:12px;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__body > .inscr-mobile-field-block:first-child{
|
||||
.inscr-gestion-fiche-section__body > .inscr-gestion-field-block:first-child{
|
||||
border-top:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--editable > .inscr-mobile-fiche-section__title{
|
||||
.inscr-gestion-fiche-section--editable > .inscr-gestion-fiche-section__title{
|
||||
padding:10px 12px;
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-field-block{
|
||||
.inscr-gestion-field-block{
|
||||
padding:12px;
|
||||
border-top:1px solid #eee;
|
||||
}
|
||||
|
||||
.inscr-mobile-field-block__label{
|
||||
.inscr-gestion-field-block__label{
|
||||
font-size:13px;
|
||||
font-weight:700;
|
||||
color:#495057;
|
||||
margin-bottom:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-order-row{
|
||||
.inscr-gestion-order-row{
|
||||
display:flex;
|
||||
flex-wrap:wrap;
|
||||
align-items:center;
|
||||
gap:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-statut-select{
|
||||
.inscr-gestion-statut-select{
|
||||
max-width:100%;
|
||||
font-size:14px;
|
||||
padding:6px 10px;
|
||||
@ -2834,23 +2834,23 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
min-height:34px;
|
||||
}
|
||||
|
||||
.inscr-mobile-field-block--statut.inscr-mobile-statut--saved .inscr-mobile-statut-select{
|
||||
.inscr-gestion-field-block--statut.inscr-gestion-statut--saved .inscr-gestion-statut-select{
|
||||
border-color:#198754;
|
||||
background-color:#d1e7dd;
|
||||
}
|
||||
|
||||
.inscr-mobile-field-block--statut.inscr-mobile-statut--error .inscr-mobile-statut-select{
|
||||
.inscr-gestion-field-block--statut.inscr-gestion-statut--error .inscr-gestion-statut-select{
|
||||
border-color:#dc3545;
|
||||
animation:inscr-mobile-statut-shake .35s ease;
|
||||
animation:inscr-gestion-statut-shake .35s ease;
|
||||
}
|
||||
|
||||
@keyframes inscr-mobile-statut-shake{
|
||||
@keyframes inscr-gestion-statut-shake{
|
||||
0%,100%{ transform:translateX(0); }
|
||||
25%{ transform:translateX(-4px); }
|
||||
75%{ transform:translateX(4px); }
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section{
|
||||
.inscr-gestion-fiche-section{
|
||||
border:1px solid #ced4da;
|
||||
border-radius:4px;
|
||||
background:#fff;
|
||||
@ -2859,7 +2859,7 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__title{
|
||||
.inscr-gestion-fiche-section__title{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
gap:8px;
|
||||
@ -2874,11 +2874,11 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__title::-webkit-details-marker{
|
||||
.inscr-gestion-fiche-section__title::-webkit-details-marker{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__title::after{
|
||||
.inscr-gestion-fiche-section__title::after{
|
||||
content:'\f107';
|
||||
font-family:FontAwesome;
|
||||
font-weight:normal;
|
||||
@ -2888,64 +2888,64 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
transition:transform .15s ease;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section[open] > .inscr-mobile-fiche-section__title{
|
||||
.inscr-gestion-fiche-section[open] > .inscr-gestion-fiche-section__title{
|
||||
border-bottom:1px solid #dee2e6;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section[open] > .inscr-mobile-fiche-section__title::after{
|
||||
.inscr-gestion-fiche-section[open] > .inscr-gestion-fiche-section__title::after{
|
||||
transform:rotate(180deg);
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section:not([open]) > .inscr-mobile-fiche-section__title{
|
||||
.inscr-gestion-fiche-section:not([open]) > .inscr-gestion-fiche-section__title{
|
||||
border-bottom:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section__icon{
|
||||
.inscr-gestion-fiche-section__icon{
|
||||
width:1.15em;
|
||||
text-align:center;
|
||||
flex-shrink:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--details .inscr-mobile-fiche-section__title{
|
||||
.inscr-gestion-fiche-section--details .inscr-gestion-fiche-section__title{
|
||||
background:#e7f1ff;
|
||||
border-left:4px solid #007bff;
|
||||
color:#004085;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--details .inscr-mobile-fiche-section__icon{
|
||||
.inscr-gestion-fiche-section--details .inscr-gestion-fiche-section__icon{
|
||||
color:#007bff;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--gestion .inscr-mobile-fiche-section__title{
|
||||
.inscr-gestion-fiche-section--gestion .inscr-gestion-fiche-section__title{
|
||||
background:#fff8e6;
|
||||
border-left:4px solid #e0a800;
|
||||
color:#664d03;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--gestion .inscr-mobile-fiche-section__icon{
|
||||
.inscr-gestion-fiche-section--gestion .inscr-gestion-fiche-section__icon{
|
||||
color:#e0a800;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--editable .inscr-mobile-fiche-section__title{
|
||||
.inscr-gestion-fiche-section--editable .inscr-gestion-fiche-section__title{
|
||||
background:#e8f5e9;
|
||||
border-left:4px solid #28a745;
|
||||
color:#155724;
|
||||
}
|
||||
|
||||
.inscr-mobile-fiche-section--editable .inscr-mobile-fiche-section__icon{
|
||||
.inscr-gestion-fiche-section--editable .inscr-gestion-fiche-section__icon{
|
||||
color:#28a745;
|
||||
}
|
||||
|
||||
.inscr-mobile-dl{
|
||||
.inscr-gestion-dl{
|
||||
margin:0;
|
||||
padding:12px;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-list{
|
||||
.inscr-gestion-kv-list{
|
||||
padding:4px 12px 8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row{
|
||||
.inscr-gestion-kv-row{
|
||||
display:flex;
|
||||
flex-wrap:wrap;
|
||||
gap:4px 16px;
|
||||
@ -2955,22 +2955,22 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
line-height:1.45;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row:last-child{
|
||||
.inscr-gestion-kv-row:last-child{
|
||||
border-bottom:none;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row--profile{
|
||||
.inscr-gestion-kv-row--profile{
|
||||
border-top:1px solid #dee2e6;
|
||||
margin-top:4px;
|
||||
padding-top:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row--flag{
|
||||
.inscr-gestion-kv-row--flag{
|
||||
border-bottom:1px solid #f1f3f5;
|
||||
padding:8px 0;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-flag{
|
||||
.inscr-gestion-kv-flag{
|
||||
display:inline-block;
|
||||
padding:4px 10px;
|
||||
border-radius:999px;
|
||||
@ -2982,7 +2982,7 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
letter-spacing:0.02em;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row__label{
|
||||
.inscr-gestion-kv-row__label{
|
||||
flex:0 0 132px;
|
||||
max-width:38%;
|
||||
font-weight:700;
|
||||
@ -2991,7 +2991,7 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
line-height:1.4;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row__value{
|
||||
.inscr-gestion-kv-row__value{
|
||||
flex:1 1 180px;
|
||||
color:#212529;
|
||||
font-size:14px;
|
||||
@ -3002,64 +3002,64 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.inscr-mobile-dl dt{
|
||||
.inscr-gestion-dl dt{
|
||||
font-size:12px;
|
||||
font-weight:600;
|
||||
color:#6c757d;
|
||||
margin:10px 0 2px;
|
||||
}
|
||||
|
||||
.inscr-mobile-dl dt:first-child{
|
||||
.inscr-gestion-dl dt:first-child{
|
||||
margin-top:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-dl dd{
|
||||
.inscr-gestion-dl dd{
|
||||
margin:0 0 4px;
|
||||
font-size:14px;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-row{
|
||||
.inscr-gestion-bib-row{
|
||||
display:flex;
|
||||
gap:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-bib-row .form-control{
|
||||
.inscr-gestion-bib-row .form-control{
|
||||
flex:1;
|
||||
}
|
||||
|
||||
.inscr-mobile-muted{
|
||||
.inscr-gestion-muted{
|
||||
font-size:12px;
|
||||
color:#6c757d;
|
||||
margin-top:6px;
|
||||
}
|
||||
|
||||
.inscr-mobile-actions .btn{
|
||||
.inscr-gestion-actions .btn{
|
||||
margin-bottom:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-actions .btn:last-child{
|
||||
.inscr-gestion-actions .btn:last-child{
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.container:has(.inscr-mobile-page){
|
||||
.container:has(.inscr-gestion-page){
|
||||
padding:12px !important;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-anchor{
|
||||
.inscr-gestion-list-anchor{
|
||||
scroll-margin-top:8px;
|
||||
}
|
||||
|
||||
.inscr-mobile-pager .pagination{
|
||||
.inscr-gestion-pager .pagination{
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.inscr-mobile-pager .page-link{
|
||||
.inscr-gestion-pager .page-link{
|
||||
min-width:38px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
@media (max-width:767px){
|
||||
.inscr-mobile-list-item{
|
||||
.inscr-gestion-list-item{
|
||||
grid-template-columns:1fr auto;
|
||||
grid-template-areas:
|
||||
"name arrow"
|
||||
@ -3070,32 +3070,32 @@ a.ms1-trad-link.btn-aide-trad{
|
||||
padding:12px;
|
||||
}
|
||||
|
||||
.inscr-mobile-list-item__name{ grid-area:name; }
|
||||
.inscr-mobile-list-item__race{ grid-area:race; }
|
||||
.inscr-mobile-list-item__order{ grid-area:order; }
|
||||
.inscr-mobile-list-item__bib{ grid-area:bib; text-align:left; }
|
||||
.inscr-mobile-list-item__check{ grid-area:check; text-align:left; }
|
||||
.inscr-mobile-list-item__arrow{ grid-area:arrow; }
|
||||
.inscr-gestion-list-item__name{ grid-area:name; }
|
||||
.inscr-gestion-list-item__race{ grid-area:race; }
|
||||
.inscr-gestion-list-item__order{ grid-area:order; }
|
||||
.inscr-gestion-list-item__bib{ grid-area:bib; text-align:left; }
|
||||
.inscr-gestion-list-item__check{ grid-area:check; text-align:left; }
|
||||
.inscr-gestion-list-item__arrow{ grid-area:arrow; }
|
||||
|
||||
.inscr-mobile-remis-row__meta{
|
||||
.inscr-gestion-remis-row__meta{
|
||||
flex-basis:100%;
|
||||
margin-left:0;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row{
|
||||
.inscr-gestion-kv-row{
|
||||
gap:3px;
|
||||
padding:8px 0;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row__label{
|
||||
.inscr-gestion-kv-row__label{
|
||||
flex:1 1 100%;
|
||||
max-width:100%;
|
||||
font-size:11px;
|
||||
color:#adb5bd;
|
||||
}
|
||||
|
||||
.inscr-mobile-kv-row__value{
|
||||
.inscr-gestion-kv-row__value{
|
||||
flex:1 1 100%;
|
||||
font-size:15px;
|
||||
font-weight:500;
|
||||
|
||||
@ -59,8 +59,8 @@ if (isset($tabEvenement) && $tabEvenement['general']['eve_commanditaires'] == "1
|
||||
}
|
||||
}
|
||||
?>
|
||||
<footer<?php echo (defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENTRY) ? ' class="inscr-mobile-entry-footer"' : ''; ?>>
|
||||
<?php if (!(defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENTRY)) { ?>
|
||||
<footer<?php echo (defined('MS1_INSCR_GESTION_ENTRY') && MS1_INSCR_GESTION_ENTRY) ? ' class="inscr-gestion-entry-footer"' : ''; ?>>
|
||||
<?php if (!(defined('MS1_INSCR_GESTION_ENTRY') && MS1_INSCR_GESTION_ENTRY)) { ?>
|
||||
<div class="ms1-footer-top">
|
||||
<div class="container">
|
||||
<div class="row py-4">
|
||||
|
||||
@ -212,8 +212,8 @@ if ($strLangue == 'fr') {
|
||||
if ($footer_script == true) {
|
||||
?>
|
||||
|
||||
if ($('#frm_inscr_mobile_login').length) {
|
||||
$('#frm_inscr_mobile_login').validate({
|
||||
if ($('#frm_inscr_gestion_login').length) {
|
||||
$('#frm_inscr_gestion_login').validate({
|
||||
messages: {
|
||||
txt_login: "<?php echo ($strLangue === 'fr') ? 'Veuillez entrer votre nom d\'usager' : 'Please enter your username'; ?>",
|
||||
txt_password: "<?php echo ($strLangue === 'fr') ? 'Veuillez entrer votre mot de passe' : 'Please enter your password'; ?>"
|
||||
@ -540,7 +540,7 @@ if ($strLangue == 'fr') {
|
||||
var $btn_annuler = $("#annuler_" + $btn_id[1]);
|
||||
var $btn_retablir = $("#retablir_" + $btn_id[1]);
|
||||
var $btn_modifier = $("#modifier_" + $btn_id[1]);
|
||||
var $inscrFiche = $(this).closest('.inscr-mobile-fiche');
|
||||
var $inscrFiche = $(this).closest('.inscr-gestion-fiche');
|
||||
$preloader_text.html('<?php afficheTexte('preloader_wait', 1, 0, 1); ?>');
|
||||
$body.css('cursor', 'wait');
|
||||
$preloader.show();
|
||||
@ -1201,13 +1201,13 @@ if ($strLangue == 'fr') {
|
||||
var pendingStatutXhr = null;
|
||||
var lastStatutParId = null;
|
||||
|
||||
$('.inscr-mobile-statut-select').each(function () {
|
||||
$('.inscr-gestion-statut-select').each(function () {
|
||||
$(this).data('prev', $(this).val());
|
||||
});
|
||||
|
||||
$body.on('change', '.inscr-mobile-statut-select', function () {
|
||||
$body.on('change', '.inscr-gestion-statut-select', function () {
|
||||
var $select = $(this);
|
||||
var $block = $select.closest('.inscr-mobile-field-block--statut');
|
||||
var $block = $select.closest('.inscr-gestion-field-block--statut');
|
||||
var intParId = $select.data('par_id');
|
||||
var strCode = $select.val();
|
||||
var strPrev = $select.data('prev');
|
||||
@ -1220,12 +1220,12 @@ if ($strLangue == 'fr') {
|
||||
pendingStatutXhr.abort();
|
||||
}
|
||||
lastStatutParId = intParId;
|
||||
$block.removeClass('inscr-mobile-statut--saved inscr-mobile-statut--error');
|
||||
$block.removeClass('inscr-gestion-statut--saved inscr-gestion-statut--error');
|
||||
|
||||
$preloader_text.html('<?php afficheTexte('preloader_wait', 1, 0, 1); ?>');
|
||||
$preloader.show();
|
||||
|
||||
pendingStatutXhr = $.post('<?php echo $vDomaine; ?>/ajax_inscr_mobile.php', {
|
||||
pendingStatutXhr = $.post('<?php echo $vDomaine; ?>/ajax_inscr_gestion.php', {
|
||||
a: 'par_statut_course',
|
||||
par_id: intParId,
|
||||
par_statut_course: strCode,
|
||||
@ -1235,19 +1235,19 @@ if ($strLangue == 'fr') {
|
||||
$preloader.fadeOut('slow');
|
||||
if (result && result.state === 'success') {
|
||||
$select.data('prev', strCode);
|
||||
$block.addClass('inscr-mobile-statut--saved');
|
||||
$block.addClass('inscr-gestion-statut--saved');
|
||||
window.setTimeout(function () {
|
||||
$block.removeClass('inscr-mobile-statut--saved');
|
||||
$block.removeClass('inscr-gestion-statut--saved');
|
||||
}, 1200);
|
||||
} else {
|
||||
$select.val(strPrev);
|
||||
$block.addClass('inscr-mobile-statut--error');
|
||||
$block.addClass('inscr-gestion-statut--error');
|
||||
}
|
||||
}, 'json').fail(function () {
|
||||
pendingStatutXhr = null;
|
||||
$preloader.fadeOut('slow');
|
||||
$select.val(strPrev);
|
||||
$block.addClass('inscr-mobile-statut--error');
|
||||
$block.addClass('inscr-gestion-statut--error');
|
||||
});
|
||||
});
|
||||
})();
|
||||
@ -1291,17 +1291,17 @@ if ($strLangue == 'fr') {
|
||||
if ($cancelBtn.length && $cancelBtn.is(':visible')) {
|
||||
$cancelBtn.removeClass('btn-secondary').addClass('btn-danger')
|
||||
.css('box-shadow', '0 0 0 3px rgba(220,53,69,.35)');
|
||||
if (!$('#inscr-mobile-refund-cancel-hint').length) {
|
||||
$('<div id="inscr-mobile-refund-cancel-hint" style="margin-top:8px;padding:10px;border:1px solid #ffe1a6;background:#fff8e6;border-radius:8px;font-size:13px;"></div>')
|
||||
if (!$('#inscr-gestion-refund-cancel-hint').length) {
|
||||
$('<div id="inscr-gestion-refund-cancel-hint" style="margin-top:8px;padding:10px;border:1px solid #ffe1a6;background:#fff8e6;border-radius:8px;font-size:13px;"></div>')
|
||||
.text(refundCancelHint)
|
||||
.insertAfter($('#inscr-mobile-refund-panel'));
|
||||
.insertAfter($('#inscr-gestion-refund-panel'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('click', '.btn_refund_toggle', function () {
|
||||
var $btn = $(this);
|
||||
var $panel = $($btn.attr('data-refund-target') || '#inscr-mobile-refund-panel');
|
||||
var $panel = $($btn.attr('data-refund-target') || '#inscr-gestion-refund-panel');
|
||||
if (!$panel.length) { return; }
|
||||
|
||||
// Si deja ouvert -> on replie.
|
||||
@ -1318,8 +1318,8 @@ if ($strLangue == 'fr') {
|
||||
// Deja charge ? on ne recharge pas (le serveur recalcule a chaque (re)chargement reel).
|
||||
if ($panel.attr('data-loaded') === '1') { return; }
|
||||
|
||||
$panel.html('<div class="inscr-mobile-muted" style="padding:10px;">…</div>');
|
||||
$.post('<?php echo $vDomaine; ?>/ajax_inscr_mobile.php', {
|
||||
$panel.html('<div class="inscr-gestion-muted" style="padding:10px;">…</div>');
|
||||
$.post('<?php echo $vDomaine; ?>/ajax_inscr_gestion.php', {
|
||||
a: 'refund_form',
|
||||
no_panier: $btn.data('no_panier'),
|
||||
lang: '<?php echo $strLangue; ?>'
|
||||
@ -3672,13 +3672,13 @@ if ($strLangue == 'fr') {
|
||||
}
|
||||
|
||||
(function () {
|
||||
var qrPanel = document.getElementById('inscr-mobile-qr-panel');
|
||||
var qrPanel = document.getElementById('inscr-gestion-qr-panel');
|
||||
if (!qrPanel) {
|
||||
return;
|
||||
}
|
||||
|
||||
var qrReaderEl = document.getElementById('inscr-mobile-qr-reader');
|
||||
var qrFeedback = document.getElementById('inscr-mobile-qr-feedback');
|
||||
var qrReaderEl = document.getElementById('inscr-gestion-qr-reader');
|
||||
var qrFeedback = document.getElementById('inscr-gestion-qr-feedback');
|
||||
var qrCamera = null;
|
||||
var qrStarting = false;
|
||||
var lastQrRaw = '';
|
||||
@ -3755,7 +3755,7 @@ if ($strLangue == 'fr') {
|
||||
var config = window.Html5QrcodeSupportedFormats
|
||||
? {formatsToSupport: [Html5QrcodeSupportedFormats.QR_CODE]}
|
||||
: undefined;
|
||||
qrCamera = new Html5Qrcode('inscr-mobile-qr-reader', config);
|
||||
qrCamera = new Html5Qrcode('inscr-gestion-qr-reader', config);
|
||||
return qrCamera.start(
|
||||
{facingMode: 'environment'},
|
||||
{fps: 8, qrbox: {width: 220, height: 220}},
|
||||
@ -3938,12 +3938,12 @@ if ($strLangue == 'fr') {
|
||||
|
||||
function BibScanSession(block) {
|
||||
this.block = block;
|
||||
this.panel = block.querySelector('.inscr-mobile-bib-scan-panel');
|
||||
this.toggleBtn = block.querySelector('.inscr-mobile-bib-scan-toggle');
|
||||
this.statusEl = this.panel ? this.panel.querySelector('.inscr-mobile-bib-scan-status') : null;
|
||||
this.captureEl = this.panel ? this.panel.querySelector('.inscr-mobile-bib-scan-capture') : null;
|
||||
this.videoWrap = this.captureEl ? this.captureEl.querySelector('.inscr-mobile-bib-scan-video') : null;
|
||||
this.captureLabel = this.captureEl ? this.captureEl.querySelector('.inscr-mobile-bib-scan-capture-label') : null;
|
||||
this.panel = block.querySelector('.inscr-gestion-bib-scan-panel');
|
||||
this.toggleBtn = block.querySelector('.inscr-gestion-bib-scan-toggle');
|
||||
this.statusEl = this.panel ? this.panel.querySelector('.inscr-gestion-bib-scan-status') : null;
|
||||
this.captureEl = this.panel ? this.panel.querySelector('.inscr-gestion-bib-scan-capture') : null;
|
||||
this.videoWrap = this.captureEl ? this.captureEl.querySelector('.inscr-gestion-bib-scan-video') : null;
|
||||
this.captureLabel = this.captureEl ? this.captureEl.querySelector('.inscr-gestion-bib-scan-capture-label') : null;
|
||||
this.inputId = this.panel ? this.panel.getAttribute('data-bib-input-id') : '';
|
||||
this.stream = null;
|
||||
this.video = null;
|
||||
@ -3973,7 +3973,7 @@ if ($strLangue == 'fr') {
|
||||
|
||||
BibScanSession.prototype.showReady = function () {
|
||||
var msg = this.panel.getAttribute('data-msg-ready') || '';
|
||||
if (!msg || msg.indexOf('inscr_mobile_') === 0) {
|
||||
if (!msg || msg.indexOf('inscr_gestion_') === 0) {
|
||||
msg = (document.documentElement.lang === 'en')
|
||||
? 'Frame the number, then tap the image'
|
||||
: 'Cadrez le numéro, puis touchez l\'image';
|
||||
@ -4051,7 +4051,7 @@ if ($strLangue == 'fr') {
|
||||
return;
|
||||
}
|
||||
input.value = strNum;
|
||||
input.classList.add('inscr-mobile-bib--proposed');
|
||||
input.classList.add('inscr-gestion-bib--proposed');
|
||||
input.focus();
|
||||
var tpl = this.panel.getAttribute('data-msg-found') || '%s';
|
||||
this.setStatus(tpl.replace('%s', strNum), false);
|
||||
@ -4150,13 +4150,13 @@ if ($strLangue == 'fr') {
|
||||
});
|
||||
};
|
||||
|
||||
if (document.querySelector('.inscr-mobile-bib-scan-toggle')) {
|
||||
if (document.querySelector('.inscr-gestion-bib-scan-toggle')) {
|
||||
preloadOcrWorker();
|
||||
}
|
||||
|
||||
document.querySelectorAll('.inscr-mobile-field-block[data-inscr-field="bib"]').forEach(function (block) {
|
||||
var toggleBtn = block.querySelector('.inscr-mobile-bib-scan-toggle');
|
||||
var panel = block.querySelector('.inscr-mobile-bib-scan-panel');
|
||||
document.querySelectorAll('.inscr-gestion-field-block[data-inscr-field="bib"]').forEach(function (block) {
|
||||
var toggleBtn = block.querySelector('.inscr-gestion-bib-scan-toggle');
|
||||
var panel = block.querySelector('.inscr-gestion-bib-scan-panel');
|
||||
if (!toggleBtn || !panel) {
|
||||
return;
|
||||
}
|
||||
@ -4171,14 +4171,14 @@ if ($strLangue == 'fr') {
|
||||
var input = session.getInput();
|
||||
if (input) {
|
||||
input.addEventListener('input', function () {
|
||||
input.classList.remove('inscr-mobile-bib--proposed');
|
||||
input.classList.remove('inscr-gestion-bib--proposed');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var ficheFromQr = document.querySelector('.inscr-mobile-fiche[data-from-qr="1"]');
|
||||
var ficheFromQr = document.querySelector('.inscr-gestion-fiche[data-from-qr="1"]');
|
||||
if (ficheFromQr) {
|
||||
var editableSection = ficheFromQr.querySelector('.inscr-mobile-fiche-section--editable');
|
||||
var editableSection = ficheFromQr.querySelector('.inscr-gestion-fiche-section--editable');
|
||||
if (editableSection) {
|
||||
window.setTimeout(function () {
|
||||
editableSection.scrollIntoView({behavior: 'smooth', block: 'start'});
|
||||
@ -4188,7 +4188,7 @@ if ($strLangue == 'fr') {
|
||||
})();
|
||||
|
||||
(function () {
|
||||
var moduleInscr = document.getElementById('module-inscr-mobile');
|
||||
var moduleInscr = document.getElementById('module-inscr-gestion');
|
||||
if (!moduleInscr) {
|
||||
return;
|
||||
}
|
||||
@ -4197,7 +4197,7 @@ if ($strLangue == 'fr') {
|
||||
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');
|
||||
var listAnchor = document.getElementById('inscr-gestion-list');
|
||||
if (listAnchor) {
|
||||
listAnchor.scrollIntoView({block: 'start'});
|
||||
}
|
||||
|
||||
@ -152,9 +152,9 @@ if (!isset($strOGDescription)) {
|
||||
|
||||
<?php include_once('css/theme.php'); ?>
|
||||
<?php
|
||||
$blnInscrMobileShell = defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENTRY;
|
||||
$blnInscrGestionShell = defined('MS1_INSCR_GESTION_ENTRY') && MS1_INSCR_GESTION_ENTRY;
|
||||
?>
|
||||
<body<?php echo $blnInscrMobileShell ? ' class="inscr-mobile-entry-body"' : ''; ?>>
|
||||
<body<?php echo $blnInscrGestionShell ? ' class="inscr-gestion-entry-body"' : ''; ?>>
|
||||
|
||||
<?php if( $vblnEnvironementDev !== true){ ?>
|
||||
<div id="preloader">
|
||||
@ -175,8 +175,8 @@ $blnInscrMobileShell = defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENT
|
||||
} ?>
|
||||
|
||||
<?php fxRenderEnvNoticeBar(); ?>
|
||||
<header<?php echo $blnInscrMobileShell ? ' class="inscr-mobile-entry-header"' : ''; ?>>
|
||||
<?php if (!$blnInscrMobileShell) { ?>
|
||||
<header<?php echo $blnInscrGestionShell ? ' class="inscr-gestion-entry-header"' : ''; ?>>
|
||||
<?php if (!$blnInscrGestionShell) { ?>
|
||||
<div class="ms1-header-top">
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
@ -288,7 +288,7 @@ $blnInscrMobileShell = defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENT
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-lg-6 text-center text-lg-left">
|
||||
<?php if ($blnInscrMobileShell) { ?>
|
||||
<?php if ($blnInscrGestionShell) { ?>
|
||||
<img class="mb-3 mb-lg-0" src="<?php echo $vDomaine; ?>/images/logoms1inscription.png" alt="<?php echo $vClient; ?>">
|
||||
<?php } else { ?>
|
||||
<a href="<?php echo $vDomaine; ?>">
|
||||
@ -310,7 +310,7 @@ $blnInscrMobileShell = defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENT
|
||||
$ref_no_panier = "0";
|
||||
}
|
||||
if (!isset($_SESSION['com_id']) && !isset($_SESSION['affiche_pas_connexion'])) {
|
||||
if ($blnInscrMobileShell) {
|
||||
if ($blnInscrGestionShell) {
|
||||
?>
|
||||
<p class="mb-0 text-muted small"><?php afficheTexte('gauche_placeholder_login', 1, 1, 1); ?></p>
|
||||
<?php
|
||||
@ -348,7 +348,7 @@ $blnInscrMobileShell = defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENT
|
||||
<?php
|
||||
}
|
||||
} else {
|
||||
if ($blnInscrMobileShell && isset($_SESSION['com_id'])) {
|
||||
if ($blnInscrGestionShell && isset($_SESSION['com_id'])) {
|
||||
?>
|
||||
<p class="mb-2"><strong><?php afficheTexte('gauche_bonjour_user',1,1,1); ?> <?php echo $_SESSION['com_info']['com_prenom']; ?></strong></p>
|
||||
<ul class="list-inline mb-0">
|
||||
@ -358,7 +358,7 @@ $blnInscrMobileShell = defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENT
|
||||
</li>
|
||||
</ul>
|
||||
<?php
|
||||
} elseif (!$blnInscrMobileShell) {
|
||||
} elseif (!$blnInscrGestionShell) {
|
||||
?>
|
||||
<p class="mb-2">
|
||||
|
||||
@ -409,7 +409,7 @@ $blnInscrMobileShell = defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENT
|
||||
</div>
|
||||
</header>
|
||||
<?php
|
||||
if (isset($_SESSION['com_id']) && !$blnInscrMobileShell) {
|
||||
if (isset($_SESSION['com_id']) && !$blnInscrGestionShell) {
|
||||
$intCompte = $_SESSION['com_id'];
|
||||
// liste attente
|
||||
if (fx_liste_attente_compte_dispo_inscrire($intCompte) > 0) {
|
||||
|
||||
@ -4,14 +4,14 @@
|
||||
include_once('php/inc_fx_modifierinscriptions.php');
|
||||
include_once('php/inc_fx_memberships.php');
|
||||
include_once('php/inc_fx_promoteur.php');
|
||||
include_once('php/inc_fx_inscriptions_mobile.php');
|
||||
include_once('php/inc_fx_inscriptions_gestion.php');
|
||||
require_once('superadm/php/inc_manager.php');
|
||||
|
||||
global $objDatabase, $vDomaine, $strLangue;
|
||||
|
||||
$intEveId = 0;
|
||||
if (isset($_GET['promoteur_eve_id'])) {
|
||||
$intEveId = fxInscrMobileParseEveId($_GET['promoteur_eve_id']);
|
||||
$intEveId = fxInscrGestionParseEveId($_GET['promoteur_eve_id']);
|
||||
}
|
||||
|
||||
if ($intEveId === 0) {
|
||||
@ -23,6 +23,6 @@ if ($intEveId === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
echo '<div class="inscr-mobile-page">';
|
||||
fxInscrMobileRun($intEveId, $strLangue);
|
||||
echo '<div class="inscr-gestion-page">';
|
||||
fxInscrGestionRun($intEveId, $strLangue);
|
||||
echo '</div>';
|
||||
|
||||
@ -262,11 +262,11 @@ if ($intEveId != 0) {
|
||||
aria-hidden="true"></i> <?php echo afficheTexte('tableau_promoteur_menueinscription', 0); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php if (fxInscrMobileCanAccess($_SESSION['com_id'], $intEveId)) { ?>
|
||||
<?php if (fxInscrGestionCanAccess($_SESSION['com_id'], $intEveId)) { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-list"
|
||||
href="<?php echo $vDomaine; ?>/compte/inc_tableau_inscriptions_mobile?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>">
|
||||
<i class="fa fa-users" aria-hidden="true"></i> <?php echo htmlspecialchars(fxInscrMobilePromoteurMenuLabel(), ENT_QUOTES, 'UTF-8'); ?>
|
||||
href="<?php echo $vDomaine; ?>/compte/inc_tableau_inscriptions_gestion?promoteur_eve_id=<?php echo urlencode(base64_encode($intEveId)); ?>&lng=<?php echo $strLangue; ?>">
|
||||
<i class="fa fa-users" aria-hidden="true"></i> <?php echo htmlspecialchars(fxInscrGestionPromoteurMenuLabel(), ENT_QUOTES, 'UTF-8'); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
18
mobile.php
18
mobile.php
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
|
||||
define('MS1_INSCR_MOBILE_ENTRY', true);
|
||||
define('MS1_INSCR_GESTION_ENTRY', true);
|
||||
|
||||
require_once('php/inc_start_time.php');
|
||||
require_once('php/inc_fonctions.php');
|
||||
require_once('php/inc_fx_messages.php');
|
||||
require_once('php/inc_fx_compte.php');
|
||||
require_once('php/inc_fx_promoteur.php');
|
||||
require_once('php/inc_fx_inscriptions_mobile.php');
|
||||
require_once('php/inc_fx_inscriptions_gestion.php');
|
||||
|
||||
global $objDatabase, $vDomaine, $vPage, $vtexte_page;
|
||||
|
||||
@ -17,7 +17,7 @@ if (!empty($_GET['lang'])) {
|
||||
$strLangue = 'fr';
|
||||
}
|
||||
|
||||
fxInscrMobileInitTextes($strLangue);
|
||||
fxInscrGestionInitTextes($strLangue);
|
||||
|
||||
$vPage = 'mobile.php';
|
||||
$strCode = 'mobile';
|
||||
@ -49,7 +49,7 @@ if (!isset($_SESSION['com_id'])) {
|
||||
if (isset($_SESSION['msg'])) {
|
||||
echo fxMessage($_SESSION['msg'], '', $strLangue);
|
||||
}
|
||||
fxInscrMobileRenderLoginPage($strLangue);
|
||||
fxInscrGestionRenderLoginPage($strLangue);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
@ -64,12 +64,12 @@ unset($_SESSION['affiche_pas_connexion']);
|
||||
$intEveId = 0;
|
||||
|
||||
if (!empty($_GET['promoteur_eve_id'])) {
|
||||
$intEveId = fxInscrMobileParseEveId($_GET['promoteur_eve_id']);
|
||||
$intEveId = fxInscrGestionParseEveId($_GET['promoteur_eve_id']);
|
||||
}
|
||||
|
||||
$tabEveIds = fxInscrMobileGetPromoteurEveIds($_SESSION['com_id']);
|
||||
$tabEveIds = fxInscrGestionGetPromoteurEveIds($_SESSION['com_id']);
|
||||
|
||||
if ($intEveId > 0 && !fxInscrMobileCanAccess($_SESSION['com_id'], $intEveId)) {
|
||||
if ($intEveId > 0 && !fxInscrGestionCanAccess($_SESSION['com_id'], $intEveId)) {
|
||||
header('Location: ' . $vDomaine . '/mobile');
|
||||
exit;
|
||||
}
|
||||
@ -110,10 +110,10 @@ require_once('inc_header.php');
|
||||
: 'No active mobile registration access (v2) for this account.';
|
||||
echo '</div>';
|
||||
} else {
|
||||
fxInscrMobileRenderEventPicker($tabEveIds, $strLangue, fxInscrMobileBaseUrl($strLangue, true));
|
||||
fxInscrGestionRenderEventPicker($tabEveIds, $strLangue, fxInscrGestionBaseUrl($strLangue, true));
|
||||
}
|
||||
} else {
|
||||
include('inc_tableau_inscriptions_mobile.php');
|
||||
include('inc_tableau_inscriptions_gestion.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@ -1514,17 +1514,17 @@ function fxShowMenuCompte($arrCompteClient, $strLangue)
|
||||
}
|
||||
|
||||
// Inscriptions mobile v2 — lien /mobile seulement si pas de menu promoteur legacy
|
||||
if (!function_exists('fxInscrMobileGetPromoteurEveIds')) {
|
||||
require_once dirname(__FILE__) . '/inc_fx_inscriptions_mobile.php';
|
||||
if (!function_exists('fxInscrGestionGetPromoteurEveIds')) {
|
||||
require_once dirname(__FILE__) . '/inc_fx_inscriptions_gestion.php';
|
||||
}
|
||||
$arrMobileEveIds = fxInscrMobileGetPromoteurEveIds($arrCompteClient['com_id']);
|
||||
$blnShowMobileDirect = (count($arrMobileEveIds) > 0 && !fxInscrMobileUserHasPromoteurMenu($arrCompteClient['com_id']));
|
||||
$arrMobileEveIds = fxInscrGestionGetPromoteurEveIds($arrCompteClient['com_id']);
|
||||
$blnShowMobileDirect = (count($arrMobileEveIds) > 0 && !fxInscrGestionUserHasPromoteurMenu($arrCompteClient['com_id']));
|
||||
if ($blnShowMobileDirect) {
|
||||
$strMobileUrl = $vDomaine . '/mobile';
|
||||
if (count($arrMobileEveIds) === 1) {
|
||||
$strMobileUrl .= '?promoteur_eve_id=' . urlencode(base64_encode($arrMobileEveIds[0]));
|
||||
}
|
||||
$strMobileLabel = fxInscrMobilePromoteurMenuLabel();
|
||||
$strMobileLabel = fxInscrGestionPromoteurMenuLabel();
|
||||
$strRetour .= '
|
||||
<li class="nav-item">
|
||||
<a class="nav-list" href="' . $strMobileUrl . '"><i class="fa fa-users" aria-hidden="true"></i> '
|
||||
|
||||
@ -162,7 +162,7 @@ function fxEveAccesGetEventIds($intComId)
|
||||
}
|
||||
|
||||
/** Acces web gestion inscriptions : vue API/page OU au moins une permission action inscriptions_gestion.* */
|
||||
function fxEveAccesHasInscrMobileWebAccess($intComId, $intEveId)
|
||||
function fxEveAccesHasInscrGestionWebAccess($intComId, $intEveId)
|
||||
{
|
||||
if (fxEveAccesHasAnyPermission(intval($intComId), intval($intEveId), array('registrations.view', 'inscriptions_gestion.view'))) {
|
||||
return true;
|
||||
@ -183,7 +183,7 @@ function fxEveAccesHasInscrMobileWebAccess($intComId, $intEveId)
|
||||
return ($intNb != null && intval($intNb) > 0);
|
||||
}
|
||||
|
||||
function fxEveAccesGetEventIdsWithInscrMobileAccess($intComId)
|
||||
function fxEveAccesGetEventIdsWithInscrGestionAccess($intComId)
|
||||
{
|
||||
global $objDatabase;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -300,12 +300,12 @@ function fxPromoteurHubGetEvents($intComId, $strLangue = 'fr')
|
||||
'url_mobile' => '',
|
||||
);
|
||||
|
||||
if (!function_exists('fxInscrMobileCanAccess')) {
|
||||
require_once __DIR__ . '/inc_fx_inscriptions_mobile.php';
|
||||
if (!function_exists('fxInscrGestionCanAccess')) {
|
||||
require_once __DIR__ . '/inc_fx_inscriptions_gestion.php';
|
||||
}
|
||||
|
||||
if (fxInscrMobileCanAccess(intval($intComId), $intEveId)) {
|
||||
$arrItem['url_mobile'] = fxInscrMobileBaseUrl($strLang, false)
|
||||
if (fxInscrGestionCanAccess(intval($intComId), $intEveId)) {
|
||||
$arrItem['url_mobile'] = fxInscrGestionBaseUrl($strLang, false)
|
||||
. '?promoteur_eve_id=' . urlencode(base64_encode($intEveId));
|
||||
}
|
||||
|
||||
@ -426,8 +426,8 @@ function fxPromoteurHubGetEventLinks($arrItem, $strLangue)
|
||||
|
||||
$arrGestion[] = array('label' => afficheTexte('tableau_promoteur_menueinscription', 0), 'url' => $strCompte . 'inc_tableau_inscriptions?promoteur_eve_id=' . $strE . '&lng=' . $strLangue, 'icon' => 'fa-users');
|
||||
|
||||
if (function_exists('fxInscrMobileCanAccess') && fxInscrMobileCanAccess($intComId, $intEveId)) {
|
||||
$arrGestion[] = array('label' => fxInscrMobilePromoteurMenuLabel(), 'url' => $strCompte . 'inc_tableau_inscriptions_mobile?promoteur_eve_id=' . $strE . '&lng=' . $strLangue, 'icon' => 'fa-users');
|
||||
if (function_exists('fxInscrGestionCanAccess') && fxInscrGestionCanAccess($intComId, $intEveId)) {
|
||||
$arrGestion[] = array('label' => fxInscrGestionPromoteurMenuLabel(), 'url' => $strCompte . 'inc_tableau_inscriptions_gestion?promoteur_eve_id=' . $strE . '&lng=' . $strLangue, 'icon' => 'fa-users');
|
||||
}
|
||||
|
||||
$arrGestion[] = array('label' => afficheTexte('tableau_promoteur_rabais', 0), 'url' => $strCompte . 'inc_tableau_rabais?promoteur_eve_id=' . $strE . '&lng=' . $strLangue, 'icon' => 'fa-money');
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
* Constantes *
|
||||
*
|
||||
**************/
|
||||
define('_VERSION_CODE', '4.72.706');
|
||||
define('_VERSION_CODE', '4.72.707');
|
||||
define('_DATE_CODE', '2026-06-27');
|
||||
//MSIN-4290
|
||||
define('QR_SECRET_KEY', 'ms1_qr_2026_cle_secrete_longue_et_fixe');
|
||||
|
||||
32
sql/MSIN-inscriptions-gestion-rename-mobile.sql
Normal file
32
sql/MSIN-inscriptions-gestion-rename-mobile.sql
Normal file
@ -0,0 +1,32 @@
|
||||
-- =====================================================================
|
||||
-- MSIN — Retrait du nom "mobile" du module de gestion des inscriptions
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Renomme cote BD ce qui accompagne le renommage du code :
|
||||
-- * route/page : compte_inc_tableau_inscriptions_mobile -> _gestion
|
||||
-- * cles i18n : inscr_mobile_* -> inscr_gestion_*
|
||||
-- Le slug public /mobile (entree mobile reelle) n'est PAS touche.
|
||||
-- Script idempotent : peut etre rejoue sans erreur.
|
||||
-- =====================================================================
|
||||
|
||||
-- 1) Page (route) : renommer le slug + le libelle administratif.
|
||||
UPDATE inscriptions_pages
|
||||
SET pag_code = 'compte_inc_tableau_inscriptions_gestion',
|
||||
pag_label_fr = 'Gestion des inscriptions',
|
||||
pag_label_en = 'Registration management'
|
||||
WHERE pag_code = 'compte_inc_tableau_inscriptions_mobile';
|
||||
|
||||
-- 2) Cles i18n : inscr_mobile_* -> inscr_gestion_*
|
||||
-- Securite (idempotence) : on retire d'abord toute cible "gestion"
|
||||
-- qui aurait ENCORE son jumeau "mobile" — cas d'une execution
|
||||
-- precedente interrompue — afin d'eviter une collision de cle.
|
||||
DELETE g
|
||||
FROM info g
|
||||
JOIN info m
|
||||
ON m.info_langue = g.info_langue
|
||||
AND m.info_prg = g.info_prg
|
||||
AND m.info_clef = CONCAT('inscr_mobile_', SUBSTRING(g.info_clef FROM 15))
|
||||
WHERE g.info_clef LIKE 'inscr_gestion_%';
|
||||
|
||||
UPDATE info
|
||||
SET info_clef = CONCAT('inscr_gestion_', SUBSTRING(info_clef FROM 14))
|
||||
WHERE info_clef LIKE 'inscr_mobile_%';
|
||||
Reference in New Issue
Block a user