You are here

public function DBExcludeFilter::configSchema in Backup and Migrate 8.4

Get a definition for user-configurable settings.

Parameters

array $params:

Return value

array

Overrides ConfigurableTrait::configSchema

File

lib/backup_migrate_core/src/Filter/DBExcludeFilter.php, line 64

Class

DBExcludeFilter
Allows the exclusion of certain data from a database.

Namespace

BackupMigrate\Core\Filter

Code

public function configSchema($params = []) {
  $schema = [];
  if ($params['operation'] == 'backup') {
    $tables = [];
    foreach ($this
      ->sources()
      ->getAll() as $source_key => $source) {
      if ($source instanceof DatabaseSourceInterface) {
        $tables += $source
          ->getTableNames();
      }
      if ($tables) {

        // Backup settings.
        $schema['groups']['default'] = [
          'title' => $this
            ->t('Exclude database tables'),
        ];
        $table_select = [
          'type' => 'enum',
          'multiple' => TRUE,
          'options' => $tables,
          'actions' => [
            'backup',
          ],
          'group' => 'default',
        ];
        $schema['fields']['exclude_tables'] = $table_select + [
          'title' => $this
            ->t('Exclude these tables entirely'),
        ];
        $schema['fields']['nodata_tables'] = $table_select + [
          'title' => $this
            ->t('Exclude data from these tables'),
        ];
      }
    }
  }
  return $schema;
}