DrupalFilesSourcePlugin.php in Backup and Migrate 5.0.x
File
src/Plugin/BackupMigrateSource/DrupalFilesSourcePlugin.php
View source
<?php
namespace Drupal\backup_migrate\Plugin\BackupMigrateSource;
use Drupal\backup_migrate\Core\Config\Config;
use Drupal\backup_migrate\Core\Filter\FileExcludeFilter;
use Drupal\backup_migrate\Core\Main\BackupMigrateInterface;
use Drupal\backup_migrate\Drupal\EntityPlugins\SourcePluginBase;
class DrupalFilesSourcePlugin extends SourcePluginBase {
public function alterBackupMigrate(BackupMigrateInterface $bam, $key, array $options = []) {
$source = $this
->getObject();
$bam
->sources()
->add($key, $source);
$config = [
'exclude_filepaths' => [],
'source' => $source,
];
switch ($this
->getConfig()
->get('directory')) {
case 'public://':
$config['exclude_filepaths'] = [
'js',
'css',
'php',
'styles',
'config_*',
'.htaccess',
];
break;
case 'private://':
$config['exclude_filepaths'] = [
'backup_migrate',
];
break;
}
$bam
->plugins()
->add($key . '_exclude', new FileExcludeFilter(new Config($config)));
}
}