Same name and namespace in other branches
  1. 4.6.x modules/filter.module \filter_list_format()
  2. 4.7.x modules/filter.module \filter_list_format()
  3. 5.x modules/filter/filter.module \filter_list_format()
  4. 6.x modules/filter/filter.module \filter_list_format()

Retrieves a list of filters for a given text format.

Note that this function returns all associated filters regardless of whether they are enabled or disabled. All functions working with the filter information outside of filter administration should test for $filter->status before performing actions with the filter.

Parameters

$format_id: The format ID to retrieve filters for.

Return value

An array of filter objects associated to the given text format, keyed by filter name.

8 calls to filter_list_format()
check_markup in modules/filter/filter.module
Runs all the enabled filters on a piece of text.
FilterCRUDTestCase::verifyFilters in modules/filter/filter.test
Verifies that filters are properly stored for a text format.
FilterCRUDTestCase::verifyTextFormat in modules/filter/filter.test
Verifies that a text format is properly stored.
FilterSettingsTestCase::testFilterDefaults in modules/filter/filter.test
Tests explicit and implicit default settings for filters.
filter_admin_format_form in modules/filter/filter.admin.inc
Form constructor for the text format add/edit form.

... See full list

1 string reference to 'filter_list_format'
filter_formats_reset in modules/filter/filter.module
Resets the text format caches.

File

modules/filter/filter.module, line 698
Framework for handling the filtering of content.

Code

function filter_list_format($format_id) {
  $filters =& drupal_static(__FUNCTION__, array());
  $filter_info = filter_get_filters();
  if (!isset($filters['all'])) {
    if ($cache = cache_get('filter_list_format')) {
      $filters['all'] = $cache->data;
    }
    else {
      $result = db_query('SELECT * FROM {filter} ORDER BY weight, module, name');
      foreach ($result as $record) {
        $filters['all'][$record->format][$record->name] = $record;
      }
      cache_set('filter_list_format', $filters['all']);
    }
  }
  if (!isset($filters[$format_id])) {
    $format_filters = array();
    $filter_map = isset($filters['all'][$format_id]) ? $filters['all'][$format_id] : array();
    foreach ($filter_map as $name => $filter) {
      if (isset($filter_info[$name])) {
        $filter->title = $filter_info[$name]['title'];

        // Unpack stored filter settings.
        $filter->settings = isset($filter->settings) ? unserialize($filter->settings) : array();

        // Merge in default settings.
        if (isset($filter_info[$name]['default settings'])) {
          $filter->settings += $filter_info[$name]['default settings'];
        }
        $format_filters[$name] = $filter;
      }
    }
    $filters[$format_id] = $format_filters;
  }
  return isset($filters[$format_id]) ? $filters[$format_id] : array();
}