function global_filter_block_info in Views Global Filter 8
Same name and namespace in other branches
- 6 global_filter.blocks.inc \global_filter_block_info()
- 7 global_filter.blocks.inc \global_filter_block_info()
Implements hook_block_info().
File
- ./
global_filter.blocks.inc, line 14 - global_filter.block.inc
Code
function global_filter_block_info() {
$num_filter_blocks = global_filter_get_module_parameter('num_filters', GLOBAL_FILTER_DEF_NUM_FILTERS);
for ($block_number = 1; $block_number <= $num_filter_blocks; $block_number++) {
$filter_names = array();
foreach ($filters = global_filter_get_filters_for_block($block_number) as $filter) {
if (!empty($filter['name'])) {
$filter_names[] = $filter['name'];
}
}
if (empty($filter_names)) {
$info = t('Global filter block @i (not configured)', array(
'@i' => $block_number,
));
}
else {
$info = format_plural(count($filter_names), 'Global filter @filters', 'Global filters: @filters', array(
'@filters' => implode(' + ', $filter_names),
));
}
$blocks[GLOBAL_FILTER_BLOCK_ID_PREFIX . $block_number] = array(
'info' => $info,
'cache' => DRUPAL_NO_CACHE,
);
}
// For the case that the number of blocks is reduced, remove the filters as
// without a block they have no home.
while ($block_number <= 10) {
foreach (global_filter_get_filters_for_block($block_number) as $key => $filter) {
if (!empty($filter['name'])) {
global_filter_remove_default_filter_from_views($filter['name']);
}
// Delete the filter.
global_filter_set_parameter($key, NULL, NULL);
}
$block_number++;
}
return $blocks;
}