You are here

function paging_xmlsitemap_nodeapi in Paging 5

Implementation of hook_nodeapi().

1 call to paging_xmlsitemap_nodeapi()
paging_xmlsitemap_enable in contrib/paging_xmlsitemap/paging_xmlsitemap.install
Implementation of hook_enable().

File

contrib/paging_xmlsitemap/paging_xmlsitemap.module, line 89
Adds node paging links to the site map.

Code

function paging_xmlsitemap_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
  switch ($op) {
    case 'insert':
    case 'update':
      if (in_array($node->type, variable_get('paging_node_types_enabled', array()), TRUE)) {
        if (isset($node->field_body[0]['view'])) {

          // support for CCK
          $body = $node->field_body[0]['view'];
        }
        elseif (isset($node->field_body[0]['value'])) {

          // support for CCK
          $body = $node->field_body[0]['value'];
        }
        else {
          $body = $node->body;
        }
        $page_count = 1 + substr_count($body, variable_get('paging_separator', '<!--pagebreak-->'));
        if ($page_count > 1) {
          if ($op == 'insert') {
            db_query("INSERT INTO {paging_xmlsitemap} (nid, pages) VALUES (%d, %d)", $node->nid, $node->page_count);
          }
          else {
            db_query("UPDATE {paging_xmlsitemap} SET pages = %d WHERE nid = %d", $node->page_count, $node->nid);
          }
        }
      }
      break;
    case 'delete':
      db_query("DELETE FROM {paging_xmlsitemap} WHERE nid = %d", $node->nid);
      break;
  }
}