filter_list_format

5 filter.module filter_list_format($format)
6 filter.module filter_list_format($format)
7 filter.module filter_list_format($format_id)
8 filter.module filter_list_format($format_id)

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.

8 calls to filter_list_format()

1 string reference to 'filter_list_format'

File

modules/filter/filter.module, line 657
Framework for handling 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();
}
Login or register to post comments