backup-functions.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. function fileArray($files)
  3. {
  4. foreach ($files as $file) {
  5. if (file_exists($file)) {
  6. $list[] = $file;
  7. }
  8. }
  9. if (!empty($list)) {
  10. return $list;
  11. }
  12. }
  13. function backupDB()
  14. {
  15. $directory = $GLOBALS['dbLocation'] . 'backups' . DIRECTORY_SEPARATOR;
  16. @mkdir($directory, 0770, true);
  17. $orgFiles = array(
  18. 'orgLog' => $GLOBALS['organizrLog'],
  19. 'loginLog' => $GLOBALS['organizrLoginLog'],
  20. 'config' => $GLOBALS['userConfigPath'],
  21. 'database' => $GLOBALS['dbLocation'] . $GLOBALS['dbName']
  22. );
  23. $files = fileArray($orgFiles);
  24. if (!empty($files)) {
  25. writeLog('success', 'BACKUP: backup process started', 'SYSTEM');
  26. $zipname = $directory . 'backup[' . date('Y-m-d_H-i') . '][' . $GLOBALS['installedVersion'] . '].zip';
  27. $zip = new ZipArchive;
  28. $zip->open($zipname, ZipArchive::CREATE);
  29. foreach ($files as $file) {
  30. $zip->addFile($file);
  31. }
  32. $zip->close();
  33. writeLog('success', 'BACKUP: backup process finished', 'SYSTEM');
  34. return true;
  35. } else {
  36. return false;
  37. }
  38. }
  39. function getBackups()
  40. {
  41. $path = $GLOBALS['dbLocation'] . 'backups' . DIRECTORY_SEPARATOR;
  42. @mkdir($path, 0770, true);
  43. $files = array_diff(scandir($path), array('.', '..'));
  44. return array_reverse($files);
  45. }