Index: nodewords.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords.module,v
retrieving revision 1.57.2.365
diff -u -p -r1.57.2.365 nodewords.module
--- nodewords.module	1 Nov 2010 07:14:31 -0000	1.57.2.365
+++ nodewords.module	1 Nov 2010 07:22:18 -0000
@@ -98,12 +98,17 @@ function nodewords_perm() {
  * Implements hook_preprocess_page().
  */
 function nodewords_preprocess_page(&$variables) {
+  // Do not do anything when running in install or update mode.
+  if (defined('MAINTENANCE_MODE')) {
+    return;
+  }
+
   $output_tags = array();
 
   $head_tags = variable_get('nodewords_head', array());
   $options = nodewords_detect_type_id();
 
-  if ($options['type'] != NODEWORDS_TYPE_NONE && $options['type'] != NODEWORDS_TYPE_OFFLINE) {
+  if ($options['type'] != NODEWORDS_TYPE_NONE) {
     $options['output'] = 'head';
 
     if ($options['type'] == NODEWORDS_TYPE_PAGER) {
@@ -165,6 +170,12 @@ function nodewords_preprocess_page(&$var
   }
 }
 
+/**
+ * Implements hook_preprocess_maintenance_page().
+ */
+function nodewords_preprocess_maintenance_page(&$variables) {
+  nodewords_preprocess_page($variables);
+}
 
 /**
  * Implements hook_taxonomy().
@@ -329,8 +340,12 @@ function nodewords_detect_type_id($optio
   // Start out with the default type.
   $result = array('type' => NODEWORDS_TYPE_DEFAULT, 'id' => 0);
 
+  if (defined('MAINTENANCE_MODE')) {
+    // Do not do anything when running in install or update mode.
+    $result['type'] = NODEWORDS_TYPE_NONE;
+  }
   if (variable_get('site_offline', 0) && !user_access('administer site configuration')) {
-    // Offline page always has the highest weight.
+    // User will see the site-offline page.
     $result['type'] = NODEWORDS_TYPE_OFFLINE;
   }
   elseif (preg_match('@HTTP/1\.[01]\x20+(403|404)[^a-zA-Z0-9]@', $options['headers'], $matches)) {
@@ -873,6 +888,7 @@ function _nodewords_get_type_strings() {
   return array(
     NODEWORDS_TYPE_DEFAULT => t('default'),
     NODEWORDS_TYPE_ERRORPAGE => t('HTTP error page'),
+    NODEWORDS_TYPE_OFFLINE => t('site offline page'),
     NODEWORDS_TYPE_NODE => t('node'),
     NODEWORDS_TYPE_PAGE => t('custom page'),
     NODEWORDS_TYPE_TERM => t('taxonomy term'),
Index: nodewords_admin/nodewords_admin.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_admin/Attic/nodewords_admin.module,v
retrieving revision 1.1.2.12
diff -u -p -r1.1.2.12 nodewords_admin.module
--- nodewords_admin/nodewords_admin.module	30 Jun 2010 16:27:47 -0000	1.1.2.12
+++ nodewords_admin/nodewords_admin.module	1 Nov 2010 07:22:18 -0000
@@ -164,6 +164,18 @@ function nodewords_admin_menu() {
     'type' => MENU_LOCAL_TASK,
     'file' => 'nodewords_admin.admin.inc',
   );
+  $items['admin/content/nodewords/meta-tags/offline'] = array(
+    'title' => 'Site off-line page',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array(
+      'nodewords_admin_tags_edit_form', array(
+        'type' => NODEWORDS_TYPE_OFFLINE,
+      ),
+    ),
+    'access arguments' => array('administer meta tags'),
+    'type' => MENU_LOCAL_TASK,
+    'file' => 'nodewords_admin.admin.inc',
+  );
 
   return $items;
 }
Index: nodewords_basic/includes/nodewords_basic.nodewords.hooks.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_basic/includes/Attic/nodewords_basic.nodewords.hooks.inc,v
retrieving revision 1.1.2.5
diff -u -p -r1.1.2.5 nodewords_basic.nodewords.hooks.inc
--- nodewords_basic/includes/nodewords_basic.nodewords.hooks.inc	11 Apr 2010 15:39:45 -0000	1.1.2.5
+++ nodewords_basic/includes/nodewords_basic.nodewords.hooks.inc	1 Nov 2010 07:22:18 -0000
@@ -35,6 +35,7 @@ function nodewords_basic_nodewords_tags_
         ),
         'denied' => array(
           NODEWORDS_TYPE_ERRORPAGE,
+          NODEWORDS_TYPE_OFFLINE,
         ),
       ),
       'label' => t('Canonical URL'),
@@ -94,6 +95,7 @@ function nodewords_basic_nodewords_tags_
         'allowed' => array(
           NODEWORDS_TYPE_DEFAULT,
           NODEWORDS_TYPE_ERRORPAGE,
+          NODEWORDS_TYPE_OFFLINE,
           NODEWORDS_TYPE_NODE,
           NODEWORDS_TYPE_PAGE,
           NODEWORDS_TYPE_PAGER,
Index: nodewords_extra/includes/nodewords_extra.nodewords.hooks.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodewords/nodewords_extra/includes/Attic/nodewords_extra.nodewords.hooks.inc,v
retrieving revision 1.1.2.10
diff -u -p -r1.1.2.10 nodewords_extra.nodewords.hooks.inc
--- nodewords_extra/includes/nodewords_extra.nodewords.hooks.inc	30 Oct 2010 19:10:16 -0000	1.1.2.10
+++ nodewords_extra/includes/nodewords_extra.nodewords.hooks.inc	1 Nov 2010 07:22:18 -0000
@@ -92,6 +92,7 @@ function nodewords_extra_nodewords_tags_
       'context' => array(
         'denied' => array(
           NODEWORDS_TYPE_ERRORPAGE,
+          NODEWORDS_TYPE_OFFLINE,
         ),
       ),
       'callback' => 'nodewords_extra_dc_title',
@@ -118,6 +119,7 @@ function nodewords_extra_nodewords_tags_
       'context' => array(
         'denied' => array(
           NODEWORDS_TYPE_ERRORPAGE,
+          NODEWORDS_TYPE_OFFLINE,
         ),
       ),
       'callback' => 'nodewords_extra_shorturl',
