You are here

public function CompressionFilter::afterBackup in Backup and Migrate 5.0.x

Run on a backup.

Parameters

\Drupal\backup_migrate\Core\File\BackupFileReadableInterface $file:

Return value

\Drupal\backup_migrate\Core\File\BackupFileReadableInterface

File

src/Core/Filter/CompressionFilter.php, line 120

Class

CompressionFilter

Namespace

Drupal\backup_migrate\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;
}