function block_visibility_vocabulary_block_list_alter in Block Visibility by Vocabularies 7
Implements hook_block_list_alter().
File
- ./
block_visibility_vocabulary.module, line 97
Code
function block_visibility_vocabulary_block_list_alter(&$blocks) {
$blocks_visibility_settings = block_visibility_vocabulary_settings_get();
$term = NULL;
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
$term = taxonomy_term_load(arg(2));
}
foreach ($blocks as $key => $block) {
if (!isset($block->theme) || !isset($block->status) || $block->theme != $GLOBALS['theme_key'] || $block->status != 1) {
continue;
}
$setting_key = $block->module . ':' . $block->delta;
if (!empty($blocks_visibility_settings[$setting_key]) && (!$term || !in_array($term->vid, $blocks_visibility_settings[$setting_key]))) {
unset($blocks[$key]);
}
}
}