You are here

function paging_nodeapi in Paging 6

Same name and namespace in other branches
  1. 5 paging.module \paging_nodeapi()

Implementation of hook_nodeapi().

1 call to paging_nodeapi()
paging_render_names in ./paging.module
Returns a rendered list of page links.

File

./paging.module, line 444
Allows users to use a tag to break up a node into multiple pages.

Code

function paging_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {

  // Act only when paging is enabled for node's type and when node is being rendered for normal views.
  if (variable_get('paging_enabled_' . $node->type, 0)) {
    $build_flag = TRUE;
    if (module_exists('cck') && property_exists($node, 'build_mode') && $node->build_mode != NODE_BUILD_NORMAL) {
      $build_flag = FALSE;
    }
    if ($build_flag) {
      switch ($op) {
        case 'load':
        case 'view':
        case 'alter':

          // Support for CCK.
          if (isset($node->field_body[0]['view'])) {
            _paging_nodeapi($node, $node->field_body[0]['view'], $node->field_teaser[0]['view'], $op, $teaser, $page);
          }
          elseif (isset($node->field_body[0]['value'])) {
            _paging_nodeapi($node, $node->field_body[0]['value'], $node->field_teaser[0]['value'], $op, $teaser, $page);
          }
          else {
            _paging_nodeapi($node, $node->body, $node->teaser, $op, $teaser, $page);
          }
          break;
      }
    }
  }
}