? page_title_fix_get_title_error.patch
Index: page_title.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/page_title/page_title.module,v
retrieving revision 1.12.2.12
diff -u -p -r1.12.2.12 page_title.module
--- page_title.module	18 Feb 2008 13:49:48 -0000	1.12.2.12
+++ page_title.module	19 Feb 2008 16:55:47 -0000
@@ -224,39 +224,9 @@ function page_title_nodeapi(&$node, $op,
 
     case 'load':
       return array('page_title' => page_title_node_get_title($node->nid));
-    
-    //Load the page title for the node-edit forms
-    case 'prepare' :
-      if ($node) {
-        page_title_set_node($node);
-      }
-      break;
-    
-    //Load the page title for a node view, but ONLY if node is full page and not a teaser.  
-    case 'view':
-      if ($page && !$teaser) {
-        page_title_set_node($node);
-      }
-      break;
   }
 }
 
-/**
- * Sets or retrieves the page title of the current page.
- *
- * @param $settings
- *   array The page title to set and content type.
- * @return
- *   string The settings array.
- */
-function page_title_set_node($node = NULL) {
-  static $stored_node = NULL;
-
-  if (isset($node)) {
-    $stored_node = $node;
-  }
-  return $stored_node;
-}
 
 /**
  * Simple wrapper function to get the currently set title for a page
@@ -265,7 +235,7 @@ function page_title_set_node($node = NUL
  */
 function page_title_get_title() {
   $display_options = variable_get('page_title_display', array());
-  $node = page_title_set_node();
+  $node = ((arg(0) == 'node') && (is_numeric(arg(1)))) ? node_load(arg(1)) : NULL;
   
   if ($display_options[$node->type] && !empty($node->page_title)) {
     return check_plain(strip_tags($node->page_title));
@@ -311,7 +281,7 @@ function page_title_page_get_title() {
     //Otherwise this is a non-frontpage page title.
     else {
       //Get the node for this page
-      $node = page_title_set_node();
+      $node = ((arg(0) == 'node') && (is_numeric(arg(1)))) ? node_load(arg(1)) : NULL;
 
       //Get the pattern for the node type. If no node type available, assume blank
       $page_title_pattern = variable_get('page_title_type_' . (isset($node->type) ? $node->type : ''), '');
