Definition

filter_list_format($format)
drupal-5/modules/filter/filter.module, line 707

Description

Retrieve a list of filters for a certain format.

Code

<?php
function filter_list_format($format) {
  static $filters = array();

  if (!isset($filters[$format])) {
    $result = db_query("SELECT * FROM {filters} WHERE format = %d ORDER BY weight ASC", $format);
    if (db_num_rows($result) == 0 && !db_result(db_query("SELECT 1 FROM {filter_formats} WHERE format = %d", $format))) {
      // The format has no filters and does not exist, use the default input
      // format.
      $filters[$format] = filter_list_format(variable_get('filter_default_format', 1));
    }
    else {
      $filters[$format] = array();
      while ($filter = db_fetch_object($result)) {
        $list = module_invoke($filter->module, 'filter', 'list');
        if (isset($list) && is_array($list) && isset($list[$filter->delta])) {
          $filter->name = $list[$filter->delta];
          $filters[$format][$filter->module .'/'. $filter->delta] = $filter;
        }
      }
    }
  }

  return $filters[$format];
}
?>