filter_list_format

Definition

filter_list_format($format_id)
drupal/modules/filter/filter.module, line 623

Description

Retrieve 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.

Code

function filter_list_format($format_id) {
  $filters = &drupal_static(__FUNCTION__, array());
  $filter_info = filter_get_filters();

  if (!isset($filters['all'])) {
    $result = db_query('SELECT * FROM {filter} ORDER BY weight, module, name');
    foreach ($result as $record) {
      $filters['all'][$record->format][$record->name] = $record;
    }
  }

  if (!isset($filters[$format_id])) {
    $format_filters = array();
    foreach ($filters['all'][$format_id] 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();
}