" . $_dir . "/" . $backupFile; try { system($command); return $backupFile; } catch (Exception $ex) { return FALSE; } } public static function dumpMysqlRestore(string $_backupFile) { // É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() { $tempArray = array(); if ($scandir = scandir(DIR_BACKUP)) { foreach ($scandir as $file) { $tempFile = NULL; if (is_file(DIR_BACKUP . $file) === TRUE and $file != "index.html") { $tempFile["file"] = $file; $tempFile["size"] = core::formatFileSize(filesize(DIR_BACKUP . $file), 2); $tempFile["date"] = core::dateFromTimestamp(filemtime(DIR_BACKUP . $file)); $tempFile["timestamp"] = filemtime(DIR_BACKUP . $file); $tempArray[] = $tempFile; } } } return $tempArray; } public static function last() { $return = []; foreach (self::scanFolder() as $key => $value) { $return[$value["timestamp"]] = $value; } krsort($return); return array_values($return)[0]["file"]; } public static function delete(string $_nameBackup) { if(file_exists("/" . DIR_BACKUP . "/" . $_nameBackup)){ unlink("/" . DIR_BACKUP . "/" . $_nameBackup); alert::recSuccess("BackUp :. Suppression de " . $_nameBackup); return TRUE; } else { alert::recError("BackUp :. Erreur lors de la suppression de " . $_nameBackup); return FALSE; } } }