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 07:13:35 -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 07:13:35 -0000
@@ -0,0 +1,16 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_update_N().
+ */
+function paging_update_1() {
+  module_invoke('node', 'search', 'reset');
+  module_invoke('node', 'update_index');
+  node_update_shutdown();
+  $status = module_invoke('node', 'search', 'status');
+  $percentage = ((int)min(100, 100 * ($status['total'] - $status['remaining']) / max(1, $status['total']))) . '%';
+  $ret[] = array('success' => 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 07:13:35 -0000
@@ -5,7 +5,7 @@
 // by Earl Miles.
 
 define('PAGING_SEPARATOR', variable_get('paging_separator', '<!--pagebreak-->'));
- 
+
 /**
  * Implementation of hook_help().
  */
@@ -76,40 +76,49 @@ 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':
+        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':
+        return array_slice($node->pages, 1);
+    }
   }
 }
 
-/*
+/**
  * 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('<!--paging_filter-->', $teaser ? $nodeteaser : $nodebody)) {
+    if (!$node->in_preview && substr_count($teaser ? $nodeteaser : $nodebody, '<!--paging_filter-->') > 0) {
         $element = 1;
         if (!$teaser && $node->pages_count > 1 && arg(2) != 'print' && arg(2) != 'full') {
           global $pager_page_array, $pager_total;
