You are here

function template_preprocess_context_block_browser in Context 6.3

Same name and namespace in other branches
  1. 6 theme/context_reaction_block.theme.inc \template_preprocess_context_block_browser()
  2. 7.3 theme/context_reaction_block.theme.inc \template_preprocess_context_block_browser()

Preprocessor for theme('context_block_browser').

File

theme/context_reaction_block.theme.inc, line 64

Code

function template_preprocess_context_block_browser(&$vars) {
  $categories = array(
    '#type' => 'select',
    '#options' => array(
      0 => '<' . t('Choose a category') . '>',
    ),
    '#attributes' => array(
      'class' => 'context-block-browser-categories',
    ),
    '#value' => 0,
    '#size' => 1,
    '#id' => '',
    '#name' => '',
    '#parents' => array(
      '',
    ),
    '#multiple' => FALSE,
    '#required' => FALSE,
  );
  $blocks = array();

  // Group blocks by module.
  foreach ($vars['blocks'] as $block) {
    if (!isset($categories[$block->module])) {
      $info = context_get_info('module', $block->module);
      $categories['#options'][$block->module] = !empty($info['name']) ? $info['name'] : $block->module;
    }
    $blocks[$block->module][$block->bid] = $block;

    // Don't call theme('context_block_browser_item') to allow others to alter.
  }
  $vars['categories'] = $categories;

  // Don't call theme('select') here to allow further preprocesses to alter the element.
  $vars['blocks'] = $blocks;
}