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 ();
$ . 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 ) {
2023-07-23 18:23:33 +02:00
if ( result . success != " 1 " ) { // Vérification de la propriété "success"
2023-07-22 22:22:40 +02:00
// Appel de la fonction de gestion d'erreur
2023-07-23 18:23:33 +02:00
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 ();
$ ( " #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 ) {
$ ( " #installUpdateErrorStep " ) . text ( errors [ step ]);
$ ( " #installUpdateError " ) . show ();
$ ( " #installUpdateEnd " ) . removeClass ( " disabled " );
$ ( " #installUpdateProgress " ) . hide ();
2023-07-22 22:22:40 +02:00
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' ) {
// Trouver la position du premier "{" pour repérer le début du tableau
const startOfArray = message . indexOf ( '{' );
2023-07-22 22:22:40 +02:00
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-22 22:22:40 +02:00
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-22 22:22:40 +02:00
2023-07-23 18:23:33 +02:00
// Afficher les résultats
console . log ( " Message du warning: " , warningMessage );
console . log ( " Données du tableau: " , jsonData );
$ ( " #installUpdateErrorMessage " ) . html ( " <strong>Détails de l'erreur :</strong><br> " + jsonData . data . replace ( /^ " (.*) " $ / , '$1' ) + " <br> " + warningMessage . replace ( /< [ ^ p ] .* ?> /g, ""));
} else {
// Si l'accolade ouvrante n'est pas trouvée ou en première position, afficher un message d'erreur
console . log ( " Aucune donnée JSON trouvée dans le message d'erreur. " );
// 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
}
2023-07-22 22:22:40 +02:00
$ ( window ) . on ( " load " , function () {
2023-03-16 15:13:52 +01:00
step ( 1 , null );
2023-07-22 22:22:40 +02:00
});