This commit is contained in:
2026-05-28 15:33:51 -04:00
parent 1baefb5f9c
commit 088cfefee2

View File

@ -131,6 +131,36 @@ function kc_set_validate_url($url)
return $url;
}
function kc_set_save_lien_for_pk($intPk, $strVehiculeSaisi, $strNewHttp)
{
global $objDatabase, $strMessage, $strMessageClass, $strCurrentHttp, $blnShowUrlForm;
if ($strVehiculeSaisi !== '' && kc_set_parse_vehicule_no($strVehiculeSaisi) !== $intPk) {
$intPk = 0;
}
if ($intPk <= 0) {
$strMessage = 'Veuillez recommencer avec votre numéro de véhicule.';
$strMessageClass = 'err';
return false;
}
$sqlCheck = 'SELECT pk_key_chain FROM key_chain WHERE pk_key_chain = ' . $intPk;
if ($objDatabase->fxGetRow($sqlCheck) === null) {
$strMessage = 'Code QR introuvable. Vérifiez votre numéro de véhicule.';
$strMessageClass = 'err';
return false;
}
$sqlUpdate = "UPDATE key_chain SET key_chain_http = '" . $objDatabase->fxEscape($strNewHttp) . "' WHERE pk_key_chain = " . $intPk;
if ($objDatabase->fxQuery($sqlUpdate) === false) {
$strMessage = 'Impossible denregistrer pour le moment. Réessayez plus tard.';
$strMessageClass = 'err';
$blnShowUrlForm = true;
$strCurrentHttp = $strNewHttp;
return false;
}
header('Location: ' . kc_set_page_url(['ok' => '1']));
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$strPostedCsrf = isset($_POST['csrf']) ? (string) $_POST['csrf'] : '';
if (!hash_equals($strCsrf, $strPostedCsrf)) {
@ -159,39 +189,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} elseif ($strAction === 'save') {
$intPk = intval(isset($_POST['pk']) ? $_POST['pk'] : 0);
$strVehiculeSaisi = isset($_POST['vehicule_no']) ? trim((string) $_POST['vehicule_no']) : '';
if ($strVehiculeSaisi !== '' && kc_set_parse_vehicule_no($strVehiculeSaisi) !== $intPk) {
$intPk = 0;
}
$strLienPost = isset($_POST['lien_qr']) ? trim((string) $_POST['lien_qr']) : '';
$strNewHttp = kc_set_validate_url($strLienPost);
if ($intPk <= 0) {
$strMessage = 'Veuillez recommencer avec votre numéro de véhicule.';
$strMessageClass = 'err';
} elseif ($strNewHttp === false) {
if ($strNewHttp === false) {
$strMessage = 'Veuillez entrer une adresse Web valide (commençant par http:// ou https://).';
$strMessageClass = 'err';
$blnShowUrlForm = true;
$strCurrentHttp = $strLienPost;
} else {
$sqlCheck = 'SELECT pk_key_chain FROM key_chain WHERE pk_key_chain = ' . $intPk;
if ($objDatabase->fxGetRow($sqlCheck) === null) {
$strMessage = 'Code QR introuvable. Vérifiez votre numéro de véhicule.';
$strMessageClass = 'err';
$blnShowUrlForm = true;
$strCurrentHttp = $strLienPost;
} else {
$sqlUpdate = "UPDATE key_chain SET key_chain_http = '" . $objDatabase->fxEscape($strNewHttp) . "' WHERE pk_key_chain = " . $intPk;
if ($objDatabase->fxQuery($sqlUpdate) === false) {
$strMessage = 'Impossible denregistrer pour le moment. Réessayez plus tard.';
$strMessageClass = 'err';
$blnShowUrlForm = true;
$strCurrentHttp = $strLienPost;
} else {
header('Location: ' . kc_set_page_url(['ok' => '1']));
exit;
}
}
kc_set_save_lien_for_pk($intPk, $strVehiculeSaisi, $strNewHttp);
}
} elseif ($strAction === 'save_ms1') {
$intPk = intval(isset($_POST['pk']) ? $_POST['pk'] : 0);
$strVehiculeSaisi = isset($_POST['vehicule_no']) ? trim((string) $_POST['vehicule_no']) : '';
kc_set_save_lien_for_pk($intPk, $strVehiculeSaisi, 'https://ms1.ca');
}
}
}
@ -422,6 +433,25 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
transform: translateY(0);
}
.btn-ms1 {
display: inline-flex;
align-items: center;
padding: 0.85rem 1.25rem;
font-size: 1rem;
font-weight: 700;
color: var(--ms1-ink);
background: #fff;
border: 2px solid var(--ms1-ink);
border-radius: 999px;
cursor: pointer;
transition: background 0.15s, color 0.15s;
}
.btn-ms1:hover {
background: var(--ms1-ink);
color: #fff;
}
.btn-enter:disabled {
opacity: 0.85;
cursor: wait;
@ -610,9 +640,17 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<span class="key-cap">↵</span>
<span>Enregistrer</span>
</button>
<p class="hint">Cliquez sur le bouton ou appuyez sur Entrée pour enregistrer.</p>
<p class="hint">Ou enregistrer directement le lien par défaut :</p>
</div>
</form>
<form method="post" action="<?php echo $strBaseUrlHtml; ?>" style="margin-top:0.75rem;">
<input type="hidden" name="csrf" value="<?php echo htmlspecialchars($strCsrf, ENT_QUOTES, 'UTF-8'); ?>">
<input type="hidden" name="action" value="save_ms1">
<input type="hidden" name="pk" value="<?php echo (int) $intPk; ?>">
<input type="hidden" name="vehicule_no" value="<?php echo htmlspecialchars($strVehiculeSaisi, ENT_QUOTES, 'UTF-8'); ?>">
<button type="submit" class="btn-ms1">Mettre le lien vers ms1.ca</button>
</form>
<p class="hint" style="margin-top:0.75rem;">Sinon modifiez ladresse ci-dessus et appuyez sur Entrée pour enregistrer.</p>
<?php } ?>
</div>