ZwiiCMS/core/module/install/view/update/update.js.php

71 lines
2.8 KiB
PHP
Raw Normal View History

2022-10-03 15:42:57 +02:00
function step(i, data) {
2022-10-08 08:14:14 +02:00
var errors = ["<?php echo helper::translate('Préparation de la mise à jour'); ?>", "<?php echo helper::translate('Téléchargement et validation de l\'archive'); ?>", "<?php echo helper::translate('Installation'); ?>", "<?php echo helper::translate('Configuration'); ?>"];
2023-03-16 15:13:52 +01:00
$(".installUpdateProgressText").hide(), $(".installUpdateProgressText[data-id=" + i + "]").show();
$("body").css("cursor", "wait");
2023-03-16 15:13:52 +01:00
$.ajax({
2022-10-03 15:42:57 +02:00
type: "POST",
url: "<?php echo helper::baseUrl(false); ?>?install/steps",
data: {
step: i,
data: data
},
success: function (result) {
// if (result.success != "1") { // Vérification de la propriété "success"
// Appel de la fonction de gestion d'erreur
// showError(i, result, errors);
// return;
//}
2022-10-03 15:42:57 +02:00
setTimeout((function () {
2023-03-16 15:13:52 +01:00
if (4 === i) {
$("#installUpdateSuccess").show();
$("body").css("cursor", "default");
2023-03-16 15:13:52 +01:00
$("#installUpdateEnd").removeClass("disabled");
$("#installUpdateProgress").hide();
} else {
step(i + 1, result.data);
}
2022-10-03 15:42:57 +02:00
}), 2e3)
},
error: function (xhr) {
2023-03-16 15:13:52 +01:00
// Appel de la fonction de gestion d'erreur
showError(1, xhr.responseText, errors);
2022-10-03 15:42:57 +02:00
}
2023-03-16 15:13:52 +01:00
});
2022-10-03 15:42:57 +02:00
}
2023-03-16 15:13:52 +01:00
function showError(step, message, errors) {
$("body").css("cursor", "default");
2023-07-24 11:32:58 +02:00
$("#installUpdateErrorStep").text(errors[step] + " (étape n°" + step + ")");
2023-03-16 15:13:52 +01:00
$("#installUpdateError").show();
$("#installUpdateEnd").removeClass("disabled");
$("#installUpdateProgress").hide();
2023-07-23 18:23:33 +02:00
// Vérifier si l'accolade ouvrante est trouvée et qu'elle n'est pas en première position
if (typeof message !== 'object') {
2023-07-24 11:25:26 +02:00
2023-07-23 18:23:33 +02:00
// Trouver la position du premier "{" pour repérer le début du tableau
const startOfArray = message.indexOf('{');
2023-07-23 18:23:33 +02:00
// Extraire le message du warning jusqu'au début du tableau
const warningMessage = message.substring(0, startOfArray).trim();
2023-07-23 18:23:33 +02:00
// Extraire le tableau JSON entre les accolades
const jsonString = message.substring(startOfArray);
const jsonData = JSON.parse(jsonString);
2023-07-23 18:23:33 +02:00
// Afficher les résultats
2023-07-24 11:25:26 +02:00
$("#installUpdateErrorMessage").html("<strong>Détails de l'erreur :</strong><br> " +
2023-07-24 11:32:58 +02:00
jsonData.data.replace(/^"(.*)"$/, '$1') +
2023-07-24 11:25:26 +02:00
"<br>" +
2023-07-24 11:32:58 +02:00
warningMessage.replace(/<[^p].*?>/g, ""));
2023-07-23 18:23:33 +02:00
} else {
// Vous pouvez également faire quelque chose d'autre ici, par exemple, afficher un message à l'utilisateur, etc.
$("#installUpdateErrorMessage").html(message);
}
2023-03-16 15:13:52 +01:00
}
$(window).on("load", function () {
2023-03-16 15:13:52 +01:00
step(1, null);
});