function _filter_list_format in Features 6
Direct copy of filter_list_format() but with a way to clear the static.
1 call to _filter_list_format()
- _filter_get_formats in includes/
features.filter.inc - Retrieve all input formats with their respective filters loaded.
File
- includes/
features.filter.inc, line 132
Code
function _filter_list_format($format, $reset = FALSE) {
static $filters = array();
if (!isset($filters[$format]) || $reset) {
$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];
}