You are here

function backup_migrate_filter_compression::_backup_migrate_file_compress in Backup and Migrate 6.3

Same name and namespace in other branches
  1. 8.2 includes/filters.compression.inc \backup_migrate_filter_compression::_backup_migrate_file_compress()
  2. 8.3 includes/filters.compression.inc \backup_migrate_filter_compression::_backup_migrate_file_compress()
  3. 6.2 includes/filters.compression.inc \backup_migrate_filter_compression::_backup_migrate_file_compress()
  4. 7.3 includes/filters.compression.inc \backup_migrate_filter_compression::_backup_migrate_file_compress()
  5. 7.2 includes/filters.compression.inc \backup_migrate_filter_compression::_backup_migrate_file_compress()

Compress a file with the given settings. Also updates settings to reflect new file mime and file extension.

1 call to backup_migrate_filter_compression::_backup_migrate_file_compress()
backup_migrate_filter_compression::backup in includes/filters.compression.inc
This function is called on a backup file after the backup has been completed.

File

includes/filters.compression.inc, line 233
A filter for compressing bckups with zip, gz bzip etc.

Class

backup_migrate_filter_compression
A filter for compressing backup files.

Code

function _backup_migrate_file_compress($file, $settings) {
  switch ($settings->filters['compression']) {
    case "gzip":
      $from = $file
        ->push_type('gzip');
      if (!($success = $this
        ->_backup_migrate_gzip_encode($from, $file
        ->filepath(), 9, $settings))) {
        $file = NULL;
      }
      break;
    case "bzip":
      $from = $file
        ->push_type('bzip2');
      if (!($success = $this
        ->_backup_migrate_bzip_encode($from, $file
        ->filepath()))) {
        $file = NULL;
      }
      break;
    case "zip":
      $filename = $file
        ->filename();
      $from = $file
        ->push_type('zip');
      if (!($success = $this
        ->_backup_migrate_zip_encode($from, $file
        ->filepath(), $filename))) {
        $file = NULL;
      }
      break;
  }
  if (!$file) {
    _backup_migrate_message("Could not compress backup file. Try backing up without compression.", array(), 'error');
  }
  return $file;
}