You are here

function custom_pagers_block in Custom Pagers 5

Same name and namespace in other branches
  1. 6 custom_pagers.module \custom_pagers_block()

Implementation of hook_block().

Generates a block with a pager for the current node.

File

./custom_pagers.module, line 96

Code

function custom_pagers_block($op = 'list', $delta = 0) {
  if ($op == 'list') {
    $pagers = _custom_pagers_load_all_pagers();
    foreach ($pagers as $pager) {
      if ($pager->position == 'block') {
        $blocks[$pager->pid]['info'] = $pager->title;
      }
    }
    return $blocks;
  }
  else {
    if ($op == 'view' && arg(0) == 'node' && is_numeric(arg(1))) {
      $node = node_load(arg(1));
      $pagers = _custom_pagers_load_all_pagers();
      if ($pager = $pagers[$delta]) {
        if ($pager->position == 'block' && _custom_pagers_visibility($pager, $node)) {
          $nav_array = custom_pager_build_nav($pager, $node);
          if ($nav_array['current_index'] != -1) {
            if (module_exists('token')) {
              $block['subject'] = token_replace($pager->title, 'node', $node);
            }
            else {
              $block['subject'] = $pager->title;
            }
            $block['content'] = theme('custom_pager', $nav_array, $node, $pager);
            return $block;
          }
        }
      }
    }
  }
}