You are here

function backup_migrate_get_filters in Backup and Migrate 6.3

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

Get the available destination types.

3 calls to backup_migrate_get_filters()
backup_migrate_filters_backup in includes/filters.inc
Filter a backup file before sending it to the destination.
backup_migrate_filters_invoke_all in includes/filters.inc
Invoke the given method on all of the available filters.
backup_migrate_filters_restore in includes/filters.inc
Filter a backup file before sending it to the destination.

File

includes/filters.inc, line 12
All of the filter handling code needed for Backup and Migrate.

Code

function backup_migrate_get_filters($op = NULL) {
  static $filters = NULL;
  if ($filters === NULL) {
    $filters = array();
    $definitions = module_invoke_all('backup_migrate_filters');
    foreach ($definitions as $definition) {

      // Include the necessary file if specified by the filter.
      if (!empty($definition['file'])) {
        require_once './' . $definition['file'];
      }
      $filters[] = new $definition['class']();
    }
  }
  $sort = array();

  // Sort the filters based on the weight for the given operation.
  foreach ($filters as $filter) {
    $sort[] = $filter
      ->weight($op);
  }
  array_multisort($sort, SORT_ASC, SORT_NUMERIC, $filters);
  return $filters;
}