You are here

function multiblock_general in MultiBlock 7

Same name and namespace in other branches
  1. 5 multiblock.module \multiblock_general()
  2. 6 multiblock.module \multiblock_general()

Page callback for the "Manage Block Instances page".

1 string reference to 'multiblock_general'
multiblock_menu in ./multiblock.module
Implements hook_menu().

File

./multiblock.module, line 164
Enhances the block API, as provided by D7 Core.

Code

function multiblock_general() {
  if (func_num_args() && func_get_arg(0) == 'edit' && is_numeric($instance = func_get_arg(1))) {
    $req_block = multiblock_get_block($instance);
  }

  // Fetch blocks directly from modules using block.module function.
  $blocks = _block_rehash();

  // Sort blocks how we want them.
  usort($blocks, 'multiblock_block_sort');

  // Fetch "Add Instance" form.
  if (isset($req_block)) {
    $get_form = drupal_get_form('multiblock_add_form', $blocks, $req_block);
    $form = drupal_render($get_form);
  }
  else {
    $get_form = drupal_get_form('multiblock_add_form', $blocks);
    $form = drupal_render($get_form);
  }

  // Get an array of existing blocks.
  $multiblocks = multiblock_get_block(NULL, TRUE);
  return theme('multiblock_general', array(
    'add_block_form' => $form,
    'multiblocks' => $multiblocks,
    'edit' => isset($req_block),
  ));
}