|
@@ -57,13 +57,32 @@ class backup
|
|
|
|
|
|
|
|
public static function dumpMysqlRestore(string $_backupFile)
|
|
public static function dumpMysqlRestore(string $_backupFile)
|
|
|
{
|
|
{
|
|
|
- $command = "mysql -h " . DB_HOST . " -u " . DB_USER . " -p" . DB_PASS . " " . DB_NAME . " < " . $_backupFile;
|
|
|
|
|
- try {
|
|
|
|
|
- system($command);
|
|
|
|
|
- return TRUE;
|
|
|
|
|
- } catch (Exception $ex) {
|
|
|
|
|
- return FALSE;
|
|
|
|
|
|
|
+ // Étape 1 : Suppression de l'ancienne base
|
|
|
|
|
+ $dropCommand = "mysql -h " . escapeshellarg(DB_HOST) . " -u " . escapeshellarg(DB_USER) . " -p" . escapeshellarg(DB_PASS) . " -e 'DROP DATABASE IF EXISTS `" . DB_NAME . "`;'";
|
|
|
|
|
+ system($dropCommand, $dropResult);
|
|
|
|
|
+ if ($dropResult !== 0) {
|
|
|
|
|
+ alert::recError("Erreur : Impossible de supprimer la base existante.");
|
|
|
|
|
+
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // Étape 2 : Création de la nouvelle base
|
|
|
|
|
+ $createCommand = "mysql -h " . escapeshellarg(DB_HOST) . " -u " . escapeshellarg(DB_USER) . " -p" . escapeshellarg(DB_PASS) . " -e 'CREATE DATABASE " . DB_NAME . ";'";
|
|
|
|
|
+ system($createCommand, $createResult);
|
|
|
|
|
+ if ($createResult !== 0) {
|
|
|
|
|
+ alert::recError("Erreur : Impossible de créer la nouvelle base.");
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // Étape 3 : Importer les données dans la nouvelle base
|
|
|
|
|
+ $importCommand = "mysql -h " . escapeshellarg(DB_HOST) . " -u " . escapeshellarg(DB_USER) . " -p" . escapeshellarg(DB_PASS) . " " . DB_NAME . " < " . escapeshellarg($_backupFile);
|
|
|
|
|
+ system($importCommand, $importResult);
|
|
|
|
|
+ if ($importResult !== 0) {
|
|
|
|
|
+ alert::recError("Erreur : Échec lors de l'importation des données.");
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static function scanFolder()
|
|
public static function scanFolder()
|
|
@@ -86,7 +105,7 @@ class backup
|
|
|
|
|
|
|
|
public static function last()
|
|
public static function last()
|
|
|
{
|
|
{
|
|
|
- $return = NULL;
|
|
|
|
|
|
|
+ $return = [];
|
|
|
foreach (self::scanFolder() as $key => $value) {
|
|
foreach (self::scanFolder() as $key => $value) {
|
|
|
$return[$value["timestamp"]] = $value;
|
|
$return[$value["timestamp"]] = $value;
|
|
|
}
|
|
}
|