You are here

public function CompressionFilter::afterBackup in Backup and Migrate 8.4

Run on a backup.

Parameters

\BackupMigrate\Core\File\BackupFileReadableInterface $file:

Return value

\BackupMigrate\Core\File\BackupFileReadableInterface

File

lib/backup_migrate_core/src/Filter/CompressionFilter.php, line 127

Class

CompressionFilter
Class CompressionFilter.

Namespace

BackupMigrate\Core\Filter

Code

public function afterBackup(BackupFileReadableInterface $file) {
  $out = $success = FALSE;
  if ($this
    ->confGet('compression') == 'gzip') {
    $out = $this
      ->getTempFileManager()
      ->pushExt($file, 'gz');
    $success = $this
      ->_gzipEncode($file, $out);
  }
  if ($this
    ->confGet('compression') == 'bzip') {
    $out = $this
      ->getTempFileManager()
      ->pushExt($file, 'bz2');
    $success = $this
      ->_bzipEncode($file, $out);
  }
  if ($this
    ->confGet('compression') == 'zip') {
    $out = $this
      ->getTempFileManager()
      ->pushExt($file, 'zip');
    $success = $this
      ->_ZipEncode($file, $out);
  }

  // If the file was successfully compressed.
  if ($out && $success) {
    $out
      ->setMeta('filesize_uncompressed', $file
      ->getMeta('filesize'));
    $out
      ->setMeta('compression', $this
      ->confGet('compression'));
    return $out;
  }

  // Return the original if we were not able to compress it.
  return $file;
}