Index: nodewords_custom_pages/nodewords_custom_pages.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_custom_pages/Attic/nodewords_custom_pages.admin.inc,v
retrieving revision 1.1.2.5
diff -u -p -r1.1.2.5 nodewords_custom_pages.admin.inc
--- nodewords_custom_pages/nodewords_custom_pages.admin.inc	26 May 2010 04:22:57 -0000	1.1.2.5
+++ nodewords_custom_pages/nodewords_custom_pages.admin.inc	30 Oct 2010 16:08:53 -0000
@@ -46,7 +46,7 @@ function nodewords_custom_pages_overview
   $form = array('#tree' => TRUE);
   $pages = array();
 
-  foreach (_nodewords_custom_pages_load_data() as $pid => $page) {
+  foreach (nodewords_custom_pages_load_all(FALSE) as $pid => $page) {
     $pages[$pid] = '';
 
     if ($page->enabled) {
@@ -93,7 +93,7 @@ function nodewords_custom_pages_overview
     $row->pid = $pid;
     $row->path = $form_state['values']['path'][$pid];
     $row->weight = $form_state['values']['weight'][$pid];
-    $row->enabled = $form_state['values']['enabled'][$pid];
+    $row->enabled = $form_state['values']['enabled'][$pid] ? 1 : 0;
 
     drupal_write_record('nodewords_custom', $row, 'pid');
     $done = TRUE;
Index: nodewords_custom_pages/nodewords_custom_pages.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_custom_pages/Attic/nodewords_custom_pages.install,v
retrieving revision 1.1.2.10
diff -u -p -r1.1.2.10 nodewords_custom_pages.install
--- nodewords_custom_pages/nodewords_custom_pages.install	8 May 2010 16:41:34 -0000	1.1.2.10
+++ nodewords_custom_pages/nodewords_custom_pages.install	30 Oct 2010 16:08:53 -0000
@@ -70,6 +70,9 @@ function nodewords_custom_pages_schema()
       ),
     ),
     'primary key' => array('pid'),
+    'indexes' => array(
+      'enabled' => array('enabled'),
+    ),
   );
 
   return $schema;
@@ -203,6 +206,16 @@ function nodewords_custom_pages_update_6
 }
 
 /**
+ * Fix non 0\/1 values in {nodewords_custom}.enabled.
+ */
+function nodewords_custom_pages_update_6104() {
+  $ret = array();
+  $ret[] = update_sql("UPDATE {nodewords_custom} SET enabled = 1 WHERE enabled <> 0");
+  db_add_index($ret, 'nodewords_custom', 'enabled', array('enabled'));
+  return $ret;
+}
+
+/**
  * Implements hook_uninstall().
  */
 function nodewords_custom_pages_uninstall() {
Index: nodewords_custom_pages/nodewords_custom_pages.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_custom_pages/Attic/nodewords_custom_pages.module,v
retrieving revision 1.1.2.11
diff -u -p -r1.1.2.11 nodewords_custom_pages.module
--- nodewords_custom_pages/nodewords_custom_pages.module	30 Jun 2010 16:27:48 -0000	1.1.2.11
+++ nodewords_custom_pages/nodewords_custom_pages.module	30 Oct 2010 16:08:53 -0000
@@ -106,30 +106,32 @@ function nodewords_custom_pages_theme() 
  * Menu callback loader.
  */
 function nodewords_custom_pages_load($pid) {
-  return _nodewords_custom_pages_load_data($pid);
+  $page = db_fetch_object(db_query("SELECT * FROM {nodewords_custom} WHERE pid = %d", $pid));
+  $page->tags = nodewords_load_tags(array('type' => NODEWORDS_TYPE_PAGE, 'id' => $page->pid));
+  return $page;
 }
 
 /**
- * Load the page meta tags data from the database.
+ * Load all page meta tags from the database.
  *
- * @param $id
- *   The ID of the page to load; by default the function loads all the custom
- *   pages data.
+ * @param $enabled
+ *   A boolean that if TRUE will only load enabled pages. Default is TRUE.
  */
-function _nodewords_custom_pages_load_data($id = NULL) {
-  static $pages;
-
-  if (!isset($pages)) {
-    $pages = array();
-    $result = db_query("SELECT * FROM {nodewords_custom} ORDER BY weight ASC");
+function nodewords_custom_pages_load_all($enabled = TRUE) {
+  if ($enabled) {
+    $query = db_query("SELECT * FROM {nodewords_custom} WHERE enabled = 1 ORDER BY weight ASC");
+  }
+  else {
+    $query = db_query("SELECT * FROM {nodewords_custom} ORDER BY weight ASC");
+  }
 
-    while ($page = db_fetch_object($result)) {
-      $page->tags = nodewords_load_tags(array(
-        'type' => NODEWORDS_TYPE_PAGE, 'id' => $page->pid
-      ));
-      $pages[$page->pid] = $page;
-    }
+  $pages = array();
+  while ($page = db_fetch_object($query)) {
+    $page->tags = nodewords_load_tags(array(
+      'type' => NODEWORDS_TYPE_PAGE, 'id' => $page->pid
+    ));
+    $pages[$page->pid] = $page;
   }
 
-  return isset($id) ? (isset($pages[$id]) ? $pages[$id] : FALSE) : $pages;
+  return $pages;
 }
Index: nodewords_custom_pages/includes/nodewords_custom_pages.nodewords.hooks.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_custom_pages/includes/Attic/nodewords_custom_pages.nodewords.hooks.inc,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 nodewords_custom_pages.nodewords.hooks.inc
--- nodewords_custom_pages/includes/nodewords_custom_pages.nodewords.hooks.inc	30 Jun 2010 16:27:48 -0000	1.1.2.3
+++ nodewords_custom_pages/includes/nodewords_custom_pages.nodewords.hooks.inc	30 Oct 2010 16:08:53 -0000
@@ -19,7 +19,7 @@ function nodewords_custom_pages_nodeword
  * Implements hook_nodewords_type_id().
  */
 function nodewords_custom_pages_nodewords_type_id(&$result, $arg) {
-  foreach (_nodewords_custom_pages_load_data() as $page) {
+  foreach (nodewords_custom_pages_load_all() as $page) {
     $path = $page->path;
 
     if (drupal_match_path($_GET['q'], $path)) {
