function filter_list_format

7.x filter.module filter_list_format($format_id)
6.x filter.module filter_list_format($format)

Retrieve a list of filters for a certain format.

7 calls to filter_list_format()
check_markup in drupal-6.x/modules/filter/filter.module
Run all the enabled filters on a piece of text.
filter_admin_configure in drupal-6.x/modules/filter/filter.admin.inc
Build a form to change the settings for a format's filters.
filter_admin_format_form in drupal-6.x/modules/filter/filter.admin.inc
Generate a filter format form.
filter_admin_format_form_submit in drupal-6.x/modules/filter/filter.admin.inc
Process filter format form submissions.
filter_admin_order in drupal-6.x/modules/filter/filter.admin.inc
Build the form for ordering filters for a format.

... See full list

File

drupal-6.x/modules/filter/filter.module, line 373
Framework for handling filtering of content.

Code

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

  if (!isset($filters[$format])) {
    $result = db_query("SELECT * FROM {filters} WHERE format = %d ORDER BY weight, module, delta", $format);
    if (db_affected_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];
}