You are here

function prev_next_block_view in Previous/Next API 7

Same name and namespace in other branches
  1. 7.2 prev_next.block.inc \prev_next_block_view()

Implements hook_block_view().

File

./prev_next.module, line 370

Code

function prev_next_block_view($delta) {
  $content = '';
  $block = array();
  $next_display = variable_get('prev_next_display_next' . $delta, PREV_NEXT_DISPLAY_DEFAULT);
  $next_text = variable_get('prev_next_display_text_next' . $delta, PREV_NEXT_DISPLAY_TEXT_NEXT_DEFAULT);
  $prev_display = variable_get('prev_next_display_prev' . $delta, PREV_NEXT_DISPLAY_DEFAULT);
  $prev_text = variable_get('prev_next_display_text_prev' . $delta, PREV_NEXT_DISPLAY_TEXT_PREV_DEFAULT);
  if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
    $node = node_load(arg(1));
    $n_nid = prev_next_nid($node->nid, 'next');
    $p_nid = prev_next_nid($node->nid, 'prev');
    if ($n_nid || $p_nid) {
      if ($p_nid && $prev_display && $prev_text != '') {
        $p_node = node_load($p_nid);
        $link = token_replace($prev_text, array(
          'node' => $p_node,
        ));
        $options = array(
          'html' => TRUE,
        );
        $content .= '<li class="prev-next-link-prev">' . l($link, "node/{$p_nid}", $options) . '</li>';
      }
      if ($n_nid && $next_display && $next_text != '') {
        $n_node = node_load($n_nid);
        $link = token_replace($next_text, array(
          'node' => $n_node,
        ));
        $options = array(
          'html' => TRUE,
        );
        $content .= '<li class="prev-next-link-next">' . l($link, "node/{$n_nid}", $options) . '</li>';
      }
      $block = array(
        'subject' => t('Prev/Next links'),
        'content' => '<ul class="prev-next-links">' . $content . '</ul>',
      );
    }
  }
  return $block;
}