getbackups.class.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * Get backups
  4. *
  5. * @package backupmodx
  6. * @subpackage processor
  7. */
  8. class BackupMODXGetbackupsProcessor extends modProcessor
  9. {
  10. /** @var BackupMODX $backupmodx */
  11. public $backupmodx;
  12. /**
  13. * BackupMODXGetProcessor constructor.
  14. * @param modX $modx A reference to the modX instance
  15. * @param array $properties An array of properties
  16. */
  17. public function __construct(modX $modx, array $properties)
  18. {
  19. parent::__construct($modx, $properties);
  20. $corePath = $modx->getOption('backupmodx.core_path', null, $modx->getOption('core_path') . 'components/backupmodx/');
  21. $this->backupmodx = $modx->getService('backupmodx', 'BackupMODX', $corePath . 'model/backupmodx/', array(
  22. 'core_path' => $corePath
  23. ));
  24. }
  25. public function process()
  26. {
  27. if ($backups = $this->backupmodx->getBackups()) {
  28. $restores = array();
  29. foreach ($backups as $backup) {
  30. if (isset($backup['files']['database'])) {
  31. $restores[] = $backup;
  32. }
  33. }
  34. if ($restores) {
  35. return $this->outputArray($restores, 1);
  36. } else {
  37. return $this->failure($this->modx->lexicon('backupmodx.err_no_restore_available'));
  38. }
  39. } else {
  40. return $this->failure($this->modx->lexicon('backupmodx.err_no_backups_available'));
  41. }
  42. }
  43. }
  44. return 'BackupMODXGetbackupsProcessor';