function ddblock_block in Dynamic display block 6
Implementation of hook_block().
File
- ./
ddblock.module, line 132 - Enables your site to display dynamic content in a block.
Code
function ddblock_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
// show info in block list on block administration page.
case 'list':
$blocks = ddblock_get_blocks(NULL);
$list = array();
foreach ($blocks as $block) {
$list[$block->delta] = array(
'info' => check_plain($block->title),
);
// Don't cache blocks.
$list[$block->delta]['cache'] = BLOCK_NO_CACHE;
}
return $list;
// the configuration page of the block.
case 'configure':
// if block is a ddblock instance invoke configure option of original block.
// with form_alter the ddblock settings are added.
$block = ddblock_get_blocks($delta);
if ($block->enabled) {
$module = $block->module;
$delta_original = $block->delta_original;
return module_invoke($module, 'block', $op, $delta_original);
}
// if block is a ddblock invoke the block configure page.
return ddblock_block_configure($delta);
// save configuraton settings.
case 'save':
//all blocks are instances of ddblock.
$module = 'ddblock';
ddblock_set_configuration_settings($module, $delta, $edit);
return;
// show block content (this is set to default).
case 'view':
default:
//all blocks are instances of ddblock.
$module = 'ddblock';
if (user_access('view dynamic display blocks')) {
$block['subject'] = ddblock_subject($module, $delta);
$block['content'] = ddblock_content($module, $delta);
if (!empty($block['content'])) {
return $block;
}
}
return;
}
}