diff --git a/core/core.php b/core/core.php
index d24a963d..513577cf 100644
--- a/core/core.php
+++ b/core/core.php
@@ -51,7 +51,7 @@ class common
const ACCESS_TIMER = 1800;
// Numéro de version
- const ZWII_VERSION = '13.4.00.test5';
+ const ZWII_VERSION = '13.4.00.test6';
// URL autoupdate
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/cms-update/raw/branch/master/';
diff --git a/core/module/install/view/update/update.js.php b/core/module/install/view/update/update.js.php
index e4aea36a..0ed17c18 100644
--- a/core/module/install/view/update/update.js.php
+++ b/core/module/install/view/update/update.js.php
@@ -30,25 +30,64 @@ function step(i, data) {
}, 2000);
},
error: function (xhr) {
- // Balance tout dans la console
- console.log("Erreur à l'étape :", i);
- console.log("Détails de l'erreur :", xhr.responseText);
- console.log("Messages d'erreurs :", errors);
- // Appel de la nouvelle fonction d'erreur
- showError(i, errors);
+ console.log(i);
+ console.log(xhr.responseText);
+ console.log(errors);
+
+ // Vérification du code d'erreur HTTP pour gérer la déconnexion
+ if (xhr.status === 401) {
+ alert("Votre session a expiré. Veuillez vous reconnecter.");
+ window.location.href = "/login"; // Redirige vers la page de connexion
+ } else {
+ // Appel de la fonction de gestion d'erreur
+ showError(i, xhr.responseText, errors);
+ }
}
});
}
-function showError(step, errors) {
+function showError(step, message, errors) {
$("body").css("cursor", "default");
$("#installUpdateErrorStep").text(errors[step] + " (étape n°" + step + ")");
$("#installUpdateError").show();
$("#installUpdateEnd").removeClass("disabled");
$("#installUpdateProgress").hide();
- // Affiche un message générique demandant de consulter la console
- $("#installUpdateErrorMessage").html("Une erreur est survenue. Veuillez consulter la console du navigateur pour plus de détails.");
+ // Vérifier si l'accolade ouvrante est trouvée et qu'elle n'est pas en première position
+ if (typeof message !== 'object') {
+
+ // Trouver la position du premier "{" pour repérer le début du tableau
+ const startOfArray = message.indexOf('{');
+
+ if (startOfArray !== -1 && startOfArray > 0) {
+ // Extraire le message du warning jusqu'au début du tableau
+ const warningMessage = message.substring(0, startOfArray).trim();
+
+ // Extraire le tableau JSON entre les accolades
+ const jsonString = message.substring(startOfArray);
+
+ try {
+ const jsonData = JSON.parse(jsonString);
+
+ // Afficher les résultats si le parsing JSON est réussi
+ if (jsonData) {
+ $("#installUpdateErrorMessage").html("Détails de l'erreur :
" +
+ jsonData.data.replace(/^"(.*)"$/, '$1') +
+ "
" +
+ warningMessage.replace(/<[^p].*?>/g, ""));
+ }
+ } catch (e) {
+ // Afficher un message générique en cas d'erreur de parsing
+ console.error("Erreur de parsing JSON : ", e);
+ $("#installUpdateErrorMessage").html("Une erreur inattendue est survenue lors du traitement des détails de l'erreur.");
+ }
+ } else {
+ // Si pas de JSON détecté, afficher le message brut
+ $("#installUpdateErrorMessage").html("Message d'erreur : " + message);
+ }
+ } else {
+ $("#installUpdateErrorMessage").html(message);
+ }
}
$(window).on("load", function () {