You are here

function prev_next_block_view in Previous/Next API 7.2

Same name and namespace in other branches
  1. 7 prev_next.module \prev_next_block_view()

Implements hook_block_view().

File

./prev_next.block.inc, line 102
Creates the previous next node block.

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 (menu_get_object()) {
    $node = menu_get_object();
    $nid = $node->nid;
    $n_nid = prev_next_nid($nid, 'next');
    $p_nid = prev_next_nid($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;
}