Index: modules/filter/filter.module =================================================================== RCS file: /cvs/drupal/drupal/modules/filter/filter.module,v retrieving revision 1.304 diff -u -p -r1.304 filter.module --- modules/filter/filter.module 1 Dec 2009 13:14:42 -0000 1.304 +++ modules/filter/filter.module 1 Dec 2009 20:27:27 -0000 @@ -556,16 +556,16 @@ 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(); - $query = db_select('filter', 'filter') - ->fields('filter') - ->condition('format', $format_id) - ->orderBy('weight') - ->orderBy('module') - ->orderBy('name'); - $result = $query->execute()->fetchAllAssoc('name'); - foreach ($result as $name => $filter) { + foreach ($filters['all'][$format_id] as $name => $filter) { if (isset($filter_info[$name])) { $filter->title = $filter_info[$name]['title']; // Unpack stored filter settings.