diff --git a/app/backup/app_languages.php b/app/backup/app_languages.php index da18faf242..a5ec43f292 100755 --- a/app/backup/app_languages.php +++ b/app/backup/app_languages.php @@ -50,6 +50,16 @@ $text['message-restore_failed_format']['sv-se'] = "Återställning Misslyckades $text['message-restore_failed_format']['uk'] = "Помилка відновлення: хибний формат файлу"; $text['message-restore_failed_format']['de-at'] = "Wiederherstellung fehlgeschlagen - Ungültiges Dateiformat"; +$text['message-restore_failed_extract']['en-us'] = "Restore Failed - Extraction Error"; +$text['message-restore_failed_extract']['es-cl'] = "Restaurar Error - Error de extracción"; +$text['message-restore_failed_extract']['pt-pt'] = "Falha na restauração - Falha na extração"; +$text['message-restore_failed_extract']['fr-fr'] = "Échec de la restauration - Échec de l'extraction"; +$text['message-restore_failed_extract']['pt-br'] = "Falha na restauração - Falha na extração"; +$text['message-restore_failed_extract']['pl'] = "Przywracanie nie powiodło się - Ekstrakcja zawiodły"; +$text['message-restore_failed_extract']['sv-se'] = "Återställning Misslyckades - extraktion misslyckades"; +$text['message-restore_failed_extract']['uk'] = "Помилка відновлення: Помилка при вилученні"; +$text['message-restore_failed_extract']['de-at'] = "Wiederherstellung fehlgeschlagen - Die Extraktion ist fehlgeschlagen"; + $text['message-restore_completed']['en-us'] = "Restore Completed"; $text['message-restore_completed']['es-cl'] = "Restaurar Completado"; $text['message-restore_completed']['pt-pt'] = "Concluída a Restauração"; diff --git a/app/backup/index.php b/app/backup/index.php index 7cbd8bc424..4b54ff9f48 100644 --- a/app/backup/index.php +++ b/app/backup/index.php @@ -58,7 +58,9 @@ else { if (isset($_SESSION['backup']['path'])) foreach ($_SESSION['backup']['path'] as $value) { $cmd .= $value.' '; } - exec($cmd); + $cmd .= " 2>&1"; + exec($cmd, $response, $restore_errlevel); + $response_txt = "
" . implode("
", $response); //download the file session_cache_limiter('public'); @@ -79,7 +81,8 @@ else { } else { //set response message - $_SESSION["message"] = $text['message-backup_failed_format']; + $_SESSION["message"] = $text['message-backup_failed_format'] . $response_txt; + $_SESSION['message_mood'] = 'negative'; header("Location: ".$_SERVER['PHP_SELF']); exit; } @@ -87,6 +90,7 @@ else { else { //set response message $_SESSION["message"] = $text['message-backup_failed_paths']; + $_SESSION['message_mood'] = 'negative'; header("Location: ".$_SERVER['PHP_SELF']); exit; } @@ -123,20 +127,31 @@ else { if (!$valid_format) { @unlink($backup_path.'/'.$backup_file); $_SESSION["message"] = $text['message-restore_failed_format']; + $_SESSION['message_mood'] = 'negative'; header("Location: ".$_SERVER['PHP_SELF']); exit; } else { - exec($cmd); - //set response message - $_SESSION["message"] = $text['message-restore_completed']; - header("Location: ".$_SERVER['PHP_SELF']); - exit; + $cmd .= ' 2>&1'; + exec($cmd, $response, $restore_errlevel); + $response_txt = "
" . implode("
", $response); + if ($restore_errlevel == 0) { + //set response message + $_SESSION["message"] = $text['message-restore_completed']; + header("Location: ".$_SERVER['PHP_SELF']); + exit; + } else { + $_SESSION["message"] = $text['message-restore_failed_extract'] . $response_txt; + $_SESSION['message_mood'] = 'negative'; + header("Location: ".$_SERVER['PHP_SELF']); + exit; + } } } else { //set response message $_SESSION["message"] = $text['message-restore_failed_upload']; + $_SESSION['message_mood'] = 'negative'; header("Location: ".$_SERVER['PHP_SELF']); exit; }