backup.class.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Create backup
  4. *
  5. * @package backupmodx
  6. * @subpackage processor
  7. */
  8. // Timeouts
  9. set_time_limit(0);
  10. ini_set('max_execution_time', 0);
  11. use BackupMODX\Backup\Backup;
  12. class BackupMODXBackupProcessor extends modProcessor
  13. {
  14. /** @var BackupMODX $backupmodx */
  15. public $backupmodx;
  16. /**
  17. * BackupMODXGetProcessor constructor.
  18. * @param modX $modx A reference to the modX instance
  19. * @param array $properties An array of properties
  20. */
  21. public function __construct(modX $modx, array $properties)
  22. {
  23. parent::__construct($modx, $properties);
  24. $corePath = $modx->getOption('backupmodx.core_path', null, $modx->getOption('core_path') . 'components/backupmodx/');
  25. $this->backupmodx = $modx->getService('backupmodx', 'BackupMODX', $corePath . 'model/backupmodx/', array(
  26. 'core_path' => $corePath
  27. ));
  28. }
  29. public function process()
  30. {
  31. $database = ($this->getProperty('database') == 'true') ? true : false;
  32. $files = ($this->getProperty('files') == 'true') ? true : false;
  33. $note = $this->getProperty('note');
  34. $backup = new Backup($this->modx);
  35. $result = $backup->backup($files, $database, $note);
  36. if (is_array($result)) {
  37. $_SESSION['tmpActiveBackup'] = $result;
  38. return $this->outputArray($result, 1);
  39. } else {
  40. return $this->failure($result);
  41. }
  42. }
  43. }
  44. return 'BackupMODXBackupProcessor';