This commit is contained in:
Fred Tempez 2023-03-16 15:13:52 +01:00
parent 9f8f9fd786
commit 7e426cfb5d
2 changed files with 32 additions and 7 deletions

View File

@ -296,14 +296,14 @@ class install extends common
case 2: case 2:
file_put_contents(self::TEMP_DIR . 'update.tar.gz', helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.tar.gz')); file_put_contents(self::TEMP_DIR . 'update.tar.gz', helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.tar.gz'));
$md5origin = helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.md5'); $md5origin = helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.md5');
$md5origin = (explode(' ', $md5origin)); $md5origin = explode(' ', $md5origin);
$md5target = md5_file(self::TEMP_DIR . 'update.tar.gz'); $md5target = md5_file(self::TEMP_DIR . 'update.tar.gz');
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'display' => self::DISPLAY_JSON, 'display' => self::DISPLAY_JSON,
'content' => [ 'content' => [
'success' => $md5origin[0] === $md5target, 'success' => $md5origin[0] === $md5target,
'data' => null 'data' => $md5origin[0] === $md5target ? null : json_encode("Checksum error")
] ]
]); ]);
break; break;

View File

@ -1,6 +1,7 @@
function step(i, data) { function step(i, data) {
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'); ?>"]; 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'); ?>"];
$(".installUpdateProgressText").hide(), $(".installUpdateProgressText[data-id=" + i + "]").show(), $.ajax({ $(".installUpdateProgressText").hide(), $(".installUpdateProgressText[data-id=" + i + "]").show();
$.ajax({
type: "POST", type: "POST",
url: "<?php echo helper::baseUrl(false); ?>?install/steps", url: "<?php echo helper::baseUrl(false); ?>?install/steps",
data: { data: {
@ -8,13 +9,37 @@ function step(i, data) {
data: data data: data
}, },
success: function (result) { success: function (result) {
if (!result.success) { // Vérification de la propriété "success"
// Appel de la fonction de gestion d'erreur
showError(i, result, errors);
return;
}
setTimeout((function () { setTimeout((function () {
!0 === result.success ? 4 === i ? ($("#installUpdateSuccess").show(), $("#installUpdateEnd").removeClass("disabled"), $("#installUpdateProgress").hide()) : step(i + 1, result.data) : ($("#installUpdateErrorStep").text(errors[i]), $("#installUpdateError").show(), $("#installUpdateEnd").removeClass("disabled"), $("#installUpdateProgress").hide(), console.error(result), $("#installUpdateErrorMessage").text(result.replace(/<[^p].*?>/g, ""))) if (4 === i) {
$("#installUpdateSuccess").show();
$("#installUpdateEnd").removeClass("disabled");
$("#installUpdateProgress").hide();
} else {
step(i + 1, result.data);
}
}), 2e3) }), 2e3)
}, },
error: function (xhr) { error: function (xhr) {
$("#installUpdateErrorStep").text(errors[1]), $("#installUpdateError").show(), $("#installUpdateEnd").removeClass("disabled"), $("#installUpdateProgress").hide(), console.error(xhr.responseText), $("#installUpdateErrorMessage").text(xhr.responseText.replace(/<[^p].*?>/g, "")) // Appel de la fonction de gestion d'erreur
showError(1, xhr.responseText, errors);
} }
}) });
} }
$(window).on("load", step(1, null));
function showError(step, message, errors) {
$("#installUpdateErrorStep").text(errors[step]);
$("#installUpdateError").show();
$("#installUpdateEnd").removeClass("disabled");
$("#installUpdateProgress").hide();
console.error(message);
$("#installUpdateErrorMessage").text(message.replace(/<[^p].*?>/g, ""));
}
$(window).on("load", function() {
step(1, null);
});