You are here

public function TempFileManager::popExt in Backup and Migrate 8.4

Return a new file based on the one passed in but with the last part of the file extension removed. For example: xxx.mysql.gz would become xxx.mysql.

Parameters

\BackupMigrate\Core\File\BackupFileInterface $file:

Return value

\BackupMigrate\Core\File\BackupFileWritableInterface A new writable backup file with the last extension removed and all of the metadata from the previous file.

Overrides TempFileManagerInterface::popExt

File

lib/backup_migrate_core/src/File/TempFileManager.php, line 84

Class

TempFileManager
Class TempFileManager.

Namespace

BackupMigrate\Core\File

Code

public function popExt(BackupFileInterface $file) {

  // Pop the last extension from the last of the file.
  $parts = $file
    ->getExtList();
  array_pop($parts);
  $new_ext = implode('.', $parts);

  // Create a new temp file with the new extension.
  $out = new WritableStreamBackupFile($this->adapter
    ->createTempFile($new_ext));

  // Copy the file metadata to a new TempFile.
  $out
    ->setMetaMultiple($file
    ->getMetaAll());
  $out
    ->setName($file
    ->getName());
  $out
    ->setExtList($parts);
  return $out;
}