/** * Exécution des différentes étapes de mise à jour */ function step(i, data) { // tableau des erreurs var errors = ['préparation de la mise à jour', 'téléchargement et validation de l\'archive', 'installation', 'configuration']; // Affiche le texte de progression $(".installUpdateProgressText").hide(); $(".installUpdateProgressText[data-id=" + i + "]").show(); // Requête ajax $.ajax({ type: "POST", url: "?install/steps", // Ignore la réécriture d'URL data: { step: i, data: data }, // Succès de la requête success: function(result) { setTimeout(function() { // Succès if(result.success === true) { // Fin de la mise à jour if(i === 4) { // Affiche le message de succès $("#installUpdateSuccess").show(); // Déverrouille le bouton "Terminer" $("#installUpdateEnd").removeClass("disabled"); // Cache le texte de progression $("#installUpdateProgress").hide(); } // Prochaine étape else { step(i + 1, result.data); } } // Échec else { // Affiche le message d'erreur $("#installUpdateErrorStep").text(errors[i]); $("#installUpdateError").show(); // Déverrouille le bouton "Terminer" $("#installUpdateEnd").removeClass("disabled"); // Cache le texte de progression $("#installUpdateProgress").hide(); // Affiche le résultat dans la console console.error(result); $("#installUpdateErrorMessage").text(result.replace( /<[^p].*?>/g, '' )); } }, 2000); }, // Échec de la requête error: function(xhr) { // Affiche le message d'erreur $("#installUpdateErrorStep").text(errors[1]); $("#installUpdateError").show(); // Déverrouille le bouton "Terminer" $("#installUpdateEnd").removeClass("disabled"); // Cache le texte de progression $("#installUpdateProgress").hide(); // Affiche l'erreur dans la console console.error(xhr.responseText); $("#installUpdateErrorMessage").text(xhr.responseText.replace( /<[^p].*?>/g, '' )); } }); } $(window).on("load", step(1, null));