Index: /Users/andrew/Documents/workspace/pinchin/sites/default/modules/default_filter/default_filter.module =================================================================== --- /Users/andrew/Documents/workspace/pinchin/sites/default/modules/default_filter/default_filter.module (revision 311) +++ /Users/andrew/Documents/workspace/pinchin/sites/default/modules/default_filter/default_filter.module (working copy) @@ -53,6 +53,7 @@ $types[$type->type] = $type->name; } $types['default_filter_block'] = 'Block Filter'; + $types['default_filter_all_node_types'] = 'All Node Types'; $form['new'] = array( '#type' => 'fieldset', @@ -308,5 +309,11 @@ //belong to some role access filters that belong to some other role. //$format = db_result(db_query('SELECT format_id FROM {default_filters} WHERE CONCAT(format_id, ".", role_id) IN ("' . join('","', $eligible) . '") AND role_id IN ("' . join('","', $roles) . '") AND node_type = "%s" ORDER BY weight ASC LIMIT 1', $type)); $format = db_result(db_query('SELECT format_id FROM {default_filters} WHERE CONCAT(format_id, ".", role_id) IN ("' . join('","', $eligible) . '") AND node_type = "%s" ORDER BY weight ASC LIMIT 1', $type)); + + // If we didn't match a specific rule, see if this matches the 'All Types' rule + if (empty($format)) { + $format = db_result(db_query('SELECT format_id FROM {default_filters} WHERE CONCAT(format_id, ".", role_id) IN ("' . join('","', $eligible) . '") AND node_type = "%s" ORDER BY weight ASC LIMIT 1', 'default_filter_all_node_types')); + } + return $format; }