Index: paging.info =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/paging/Attic/paging.info,v retrieving revision 1.1.2.2 diff -u -p -r1.1.2.2 paging.info --- paging.info 23 Apr 2007 08:39:46 -0000 1.1.2.2 +++ paging.info 25 Apr 2007 20:15:00 -0000 @@ -1,3 +1,5 @@ ; $Id: paging.info,v 1.1.2.2 2007/04/23 08:39:46 Gurpartap Exp $ name = Paging -description = Allows users to use a tag to break a node up, for specified content types, into multiple pages. \ No newline at end of file +description = "Allows users to use a tag to break a node up, for specified content types, into multiple pages." +version = "$Name$" + Index: paging.install =================================================================== RCS file: paging.install diff -N paging.install --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ paging.install 25 Apr 2007 20:15:00 -0000 @@ -0,0 +1,16 @@ + TRUE, 'query' => t('!percentage of the site has been indexed.', array('!percentage' => $percentage))); + return $ret; +} + Index: paging.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/paging/paging.module,v retrieving revision 1.15.2.3 diff -u -p -r1.15.2.3 paging.module --- paging.module 23 Apr 2007 08:41:40 -0000 1.15.2.3 +++ paging.module 25 Apr 2007 20:15:00 -0000 @@ -5,7 +5,7 @@ // by Earl Miles. define('PAGING_SEPARATOR', variable_get('paging_separator', '')); - + /** * Implementation of hook_help(). */ @@ -76,40 +76,61 @@ function paging_settings() { return system_settings_form($form); } -/* +/** * Implementation of hook_nodeapi(). */ function paging_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) { - if (isset($node->field_body[0]['view'])) { // support for CCK - _paging_nodeapi($node, - $node->field_body[0]['view'], - $node->field_teaser[0]['view'], - $op, $teaser, $page); - } - elseif (isset($node->field_body[0]['value'])) { // support for CCK - _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); + if (in_array($node->type, variable_get('paging_node_types_enabled', array()), TRUE)) { + switch ($op) { + case 'load': + case 'view': + case 'alter': + if (isset($node->field_body[0]['view'])) { // support for CCK + _paging_nodeapi($node, + $node->field_body[0]['view'], + $node->field_teaser[0]['view'], + $op, $teaser, $page); + } + elseif (isset($node->field_body[0]['value'])) { // support for CCK + _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; + case 'update index': + if (isset($node->pages)) { + return array_slice($node->pages, 1); + } + break; + } } } -/* +/** * Helper function for paging_nodeapi(). */ function _paging_nodeapi(&$node, &$nodebody, &$nodeteaser, $op, $teaser, $page) { switch ($op) { case 'load': - $node->pages = explode(PAGING_SEPARATOR, $nodebody); - $node->pages_count = count($node->pages); + if (substr_count($teaser ? $nodeteaser : $nodebody, PAGING_SEPARATOR) > 0) { + $node->pages = explode(PAGING_SEPARATOR, $nodebody); + $node->pages_count = count($node->pages); + } break; - case 'view': - $node_type = in_array($node->type, variable_get('paging_node_types_enabled', array()), TRUE); - if (!$node->in_preview && $node_type && ereg('', $teaser ? $nodeteaser : $nodebody)) { + if (!$node->in_preview && substr_count($teaser ? $nodeteaser : $nodebody, '') > 0) { + if ($teaser && $node->pages_count > 1 && strlen($node->teaser) > strlen($node->pages[0])) { + // check to see if the teaser is longer than our first page. + $node->content['body']['#value'] = check_markup($node->pages[0], $node->format, false); + $node->pagemore = true; + } + } + case 'alter': + if (!$node->in_preview && substr_count($teaser ? $nodeteaser : $nodebody, '') > 0) { $element = 1; if (!$teaser && $node->pages_count > 1 && arg(2) != 'print' && arg(2) != 'full') { global $pager_page_array, $pager_total; @@ -117,13 +138,8 @@ function _paging_nodeapi(&$node, &$nodeb $pager_page_array = explode(',', $page); $pager_total[$element] = $node->pages_count; $page = isset($pager_page_array[$element]) ? $pager_page_array[$element] : 0; - $node->content['body']['#value'] = check_markup($node->pages[$page], $node->format, false); - $node->content['body']['#value'] .= theme('pager', NULL, 1, $element); - } - elseif ($teaser && $node->pages_count > 1 && strlen($node->teaser) > strlen($node->pages[0])) { - // check to see if the teaser is longer than our first page. - $node->content['body']['#value'] = check_markup($node->pages[0], $node->format, false); - $node->pagemore = true; + $node->body = check_markup($node->pages[$page], $node->format, false); + $node->body .= theme('pager', NULL, 1, $element); } } break;