/** * @param $migration */ protected function archiveSite(&$migration) { $exclude = $this->exclude($migration); $files = $this->filesToBackup(DRUPAL_ROOT, $exclude); if (!empty($files) && isset($migration['file'])) { $this->validateArchiveFiles($migration, $files); if ($migration['error'] != FALSE) { return; } $dest_file = $migration['file'] . '.tar'; if (!empty($migration['compression_ext'])) { $dest_file .= '.' . $migration['compression_ext']; } $gz = new Archiver\ArchiveTar($dest_file, $migration['compression_ext'] ? $migration['compression_ext'] : NULL); if (!empty($migration['db_file'])) { // Add db file. $ret = $gz->addModify(array($migration['db_file']), '', $migration['dir'] . DIRECTORY_SEPARATOR); } // Remove Drupal root from the file paths, OS dependent. if (defined('OS_WINDOWS')) { $remove_dir = DRUPAL_ROOT . '\\'; } else { $remove_dir = DRUPAL_ROOT . '/'; } $ret = $gz->addModify($files, '', $remove_dir); $migration['tar_file'] = $dest_file; } else { $migration['error'] = TRUE; } }