You are here

function accordion_block_content in Accordion Blocks 7.3

Same name and namespace in other branches
  1. 7.2 accordion_blocks.module \accordion_block_content()

accordion block data

@returns the block content for the accordion block.

1 call to accordion_block_content()
accordion_blocks_block_view in ./accordion_blocks.module
Implements hook_block_view().

File

./accordion_blocks.module, line 153

Code

function accordion_block_content($delta, $id) {
  $accordion_data = accordion_block_load($id);
  if ($delta == $accordion_data['title'] . "_" . $accordion_data['id']) {
    $data = unserialize($accordion_data['content']);
    $blocks_content = array();
    if (isset($data)) {
      foreach ($data as $key => $block) {
        if (!empty($block)) {
          $blocks_info = explode('_delta_', $block);
          $block_data = block_load($blocks_info[0], $blocks_info[1]);
          $blocks_content[$key] = new stdClass();
          $block_content = module_invoke($blocks_info[0], "block_view", $blocks_info[1]);
          if (isset($block_content['content'])) {
            $blocks_content[$key]->content = $block_content['content'];
          }
          else {
            $blocks_content[$key]->content = NULL;
          }
          if ($block_data->title) {
            $blocks_content[$key]->title = $block_data->title;
          }
          elseif (isset($block_content['subject'])) {
            $blocks_content[$key]->title = $block_content['subject'];
          }
          else {
            $blocks_content[$key]->title = '';
          }
        }
      }
    }
    $accordion_block_content = array(
      'content' => $blocks_content,
    );
    return $accordion_block_content;
  }
}