function clean_markup_blocks_preprocess_block in Clean Markup 7.2
Same name and namespace in other branches
- 7.3 modules/clean_markup_blocks/clean_markup_blocks.module \clean_markup_blocks_preprocess_block()
- 7 modules/clean_markup_blocks/clean_markup_blocks.module \clean_markup_blocks_preprocess_block()
Implements MODULE_preprocess_HOOK().
File
- modules/
clean_markup_blocks/ clean_markup_blocks.module, line 213 - Provides clean block markup.
Code
function clean_markup_blocks_preprocess_block(&$vars) {
// Load defaults.
$defaults = variable_get('clean_markup_blocks-defaults');
// Get settings for this block.
$variable_name = _clean_markup_blocks_generate_prefix($vars['block']->module, $vars['block']->delta);
$current_block_settings = variable_get($variable_name, $defaults);
// Copy simple settings into variables.
$vars['block_wrapper'] = $current_block_settings['block_wrapper'];
$vars['inner_div'] = $current_block_settings['enable_inner_div'];
if (module_exists('token')) {
$vars['additional_attributes'] = token_replace($current_block_settings['additional_block_attributes'], array(
'global',
));
}
else {
$vars['additional_attributes'] = $current_block_settings['additional_block_attributes'];
}
// Pad additional_attributes.
if (!empty($vars['additional_attributes'])) {
$vars['additional_attributes'] = str_pad($vars['additional_attributes'], strlen($vars['additional_attributes']) + 2, ' ', STR_PAD_BOTH);
}
// Convert the additional block classes into an array, then merge into the
// existing classes array. Note the use of check_plain to prevent XSS.
$vars['classes_array'] = array_merge($vars['classes_array'], explode(' ', check_plain($current_block_settings['additional_block_classes'])));
// Only output a title if one is set.
if ($vars['block']->subject) {
$vars['title'] = array(
'#prefix' => $vars['title_prefix'],
'#suffix' => $vars['title_suffix'],
'#type' => 'html_tag',
'#tag' => $current_block_settings['title_wrapper'],
'#attributes' => isset($vars['title_attributes']) ? $vars['title_attributes'] : array(),
'#value' => $vars['block']->subject,
);
$vars['title']['#attributes']['class'] = array(
'title',
'block-title',
);
if ($current_block_settings['title_hide']) {
$vars['title']['#attributes']['class'][] = 'element-invisible';
}
}
else {
$vars['title'] = '';
}
// Only wrap the content if the user wants a wrapper.
if ($current_block_settings['content_wrapper'] !== CLEAN_MARKUP_NO_ELEMENT) {
$vars['content'] = array(
'#type' => 'html_tag',
'#tag' => $current_block_settings['content_wrapper'],
'#attributes' => array(
'class' => array(
'content',
),
),
'#value' => $vars['content'],
);
$vars['content']['#attributes'] += $vars['content_attributes_array'];
}
// Output the block HTML ID as a class if requested.
if ($current_block_settings['block_html_id_as_class']) {
$vars['classes_array'][] = $vars['block_html_id'];
}
}